У меня 3 стола. car_types:
id | main_image | title
car_type_classifiers:
id | car_type_id | classifier_id
классификаторы:
id | class
Я хочу отобразить CGridView, чтобы были столбцы: Заголовок | класс. Но классов может быть много для одного car_type. Я пытался искать в Интернете, но не мог понять эти $criteria->compare()
функции в функции поиска модели.
Я хочу, чтобы они отображались в виде небольших списков. Как я могу это сделать? мой взгляд:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'car-type-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns' => array(
'title'
),
));
мой контроллер:
public function actionIndex()
{
$model=new EeCarTypes('search');
$model->unsetAttributes();
$this->render('index',array('model'=>$model));
}
и моя модель:
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('car_type',$this->car_type,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}