Buon giorno a tutti,
non riesco a risolvere questo probabile stupido problema.
Ho due tabelle nel database: una di queste è correlata di MVC e CRUD l’altra è solo di appoggio.
Immaginiamo lo scenario di registrazione di un utente (tabella con MVC) coi vari campi come nome, cognome, ecc e poi degli interessi spuntabili tramite checkboxlist. Io salvo questi interessi in una nuova tabella del tipo interessi_utente che è fatta da un id univoco, un id utente, e un interesse. Perciò avrò più interessi con lo stesso id utente per poterlo rintracciare.
Ora, in fase di creazione utente nessun problema. Visualizzo tutti i checkbox vuoti perchè dovrà appunto spuntarli. Questo è il codice presente in /user/_form.php
<div class="row">
<?php echo $form->labelEx($model,'interessi'); ?>
<?php echo $form->checkBoxList($model, 'interessi', User::model()->getInteressi());
?>
<?php echo $form->error($model,'interessi'); ?>
</div>
la funzione getInteressi() mi restituisce un array statico, cioè è così definita
public function getInteressi($user_id=null)
{
if(!isset($user_id))
{
return array(
'Sport' => 'Sport',
'Lettura' => 'Lettura',
'Scrittura' => 'Scrittura',
'Viaggi' => 'Viaggi',
// ecc ecc
);
}
else
{
$sql = "SELECT * FROM interessi_utente WHERE id_utente='$user_id'";
$result = Yii::app()->db->createCommand($sql)->queryAll();
// come faccio a restituire un array coi valori ceccati e non?
}
Nell’update, invece, o me li da tutti ceccati (se uso la funzione) oppure me li tutti non ceccati.
Come posso fare affinchè mi mostro tutti gli interessi correttamente ceccati o no in base alla loro presenza nel DB?
Grazie.