Yii Framework Forum: Problem Z Listą Checkboxów I Relacjami - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problem Z Listą Checkboxów I Relacjami Rate Topic: -----

#1 User is offline   Bartonek 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 11-March 13

Posted 15 March 2013 - 06:39 AM

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?
0

#2 User is offline   hungtran 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 08-December 13

Posted 15 December 2013 - 12:39 AM

$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
}
?>
this is true?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users