Вопрос по belongs_to

Добрый день, Господа!

Есть модель - Тип (id, name) и Категория (id, type_id, name).

в модели Типа ‘categories’ => array(self::HAS_MANY, ‘categories’, ‘type_id’, ‘order’=> ‘categories.ord’)

в модели Категории ‘type’ => array(self::BELONGS_TO, ‘Types’, ‘type_id’)

Хочется сделать так: при переходе на страницу редактирования конкретного типа под формой выводится список категорий, к этому типу принадлежащих (со ссылками добавить/изменить/удалить).

Поправил контроллер Типа (конкретно - метод loadModel()) c тем, чтобы он грузил относящиеся к нему категории:

$this->_model=types::model()->with(‘categories’)->findbyPk($_GET[‘id’]);

Добавил во /views/types/admin.php

<?php echo $this->renderPartial(’/categories/admin’,array(

'dataProvider'=&gt;&#036;model-&gt;categories,

)); ?>

Но эффект очень странный. Слетели все стили, отображается форма редактирования Типа, но списка зависимых категорий под ней нет.

Как заставить view от формы редактирования типа рисовать список категорий? $model->categories это датапровайдер?

С уважением,

Антон

Бобрый день :)

Что значит датапровайдер? в терминологии Yii не встречал такого.

По идее $model->categories будет массивом (может быть пустым) с элементами класса categories.

Ну и там во view уже используй


foreach ($model->categories as $k=>$cat) {

// вывод тут

}

Если не канает, то покажи вот этот view "/categories/admin" сюда на обозрение. Может там что )

Это абстрактный класс посредника модели. В Yii 2 таких - CDataProvider, CActiveDataProvider

tonytony

Вы пытаетесь в сгенерированый yiic код подставить коллекцию моделей. В свою очередь в виде admin.php ожидается описанный выше CActiveDataProvider. Либо напишите функционал вида с нуля, выкинув оттуда CGridView, либо отдавайте в вид объект класса CActiveDataProvider, документация по нему есть в API.

С 1.1 появилось оказывается :-*