Problem Z Listą Checkboxów I Relacjami

Witam,

Mam nadzieję że zwracam się do Was już z ostatnią, niemniej sporą prośbą. Przede wszystkim:

Istnieją trzy tabele:

Product Products_category Category

id id id

name pid name_pl

… cid

Mam dwa modele, product i category. Obydwa są połączone relacją MANY_MANY przez tabelę Products_category.

Problem pojawia się w panelu administratora w momencie kiedy dla danego produktu, muszę wyświetlić checkboxy z labelami wszystkich kategorii, a jednocześnie pozaznaczać te, do których kategorii należy produkt. Do tej pory wszystko działało na jednym polu category_id w tabeli Product. Obecnie po moich modyfikacjach wygląda to tak:

Kontroler:


           $model=$this->loadModel($id);

                $productCategory=Product::model()->findByPK($id);

                $categories=Category::model()->findAll();

                $kategorie = $productCategory->category;

		$this->render('update',array(

			'model'=>$model, // przekazanie informacji o produkcie

                        'categories'=>$categories, // tutaj nazwy kategorii

                        'productCategory'=>$kategorie  // tutaj starałem się osobno przekazać listę kategorii do których przypisany jest produkt

		));

Widok:


  $arr=array();

        

        foreach($productCategory as $kategorie) {

            $arr[] = $kategorie->id;

        }

        

        foreach($categories as $row) {

        ?>

            <div class="row">

            <?php            

                    echo $form->labelEx($row, $row['name_pl'], array('style'=>'width: 160px'));

                    echo $form->checkBox($model,'category_id', array('value'=>$row['id']));

                    echo $form->error($row,'name_pl');

            ?>

            </div>

        <?php

        }

        ?>

Jak widać, jest jeden wielki misz-masz a żeby obsłużyć CActiveForm wydaje mi się że muszę skorzystać z jednego modelu.

W jaki sposób pozaznaczać te checkboxy i w jaki sposób umożliwić aktualizację tych wartości w tabeli Products_category?

$arr=array();

    foreach(&#036;productCategory as &#036;kategorie) {


        &#036;arr[] = &#036;kategorie-&gt;id;


    }


    


    foreach(&#036;categories as &#036;row) {


    ?&gt;


        &lt;div class=&quot;row&quot;&gt;


        &lt;?php            


                echo &#036;form-&gt;labelEx(&#036;row, &#036;row['name_pl'], array('style'=&gt;'width: 160px'));


                echo &#036;form-&gt;checkBox(&#036;model,'category_id', array('value'=&gt;&#036;row['id']));


                echo &#036;form-&gt;error(&#036;row,'name_pl');


        ?&gt;


        &lt;/div&gt;


    &lt;?php


    }


    ?&gt;

this is true?