Checkboxlist Come Spuntare Le Voci Di Default In Fase Di Update?

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.