array(
'headerHtmlOptions' => array(
'style' => 'display: none'
),
'filterHtmlOptions' => array(
'style' => 'display: none'
),
'htmlOptions' => array(
'style' => 'display: none'
),
'value' => array($this, 'gridPropertyData'),
),
public function gridPropertyData($data, $row){
return $this->renderPartial("//common/property_info", array("data" => $data), false);
}
</td></tr><tr>
$criteria->compare('city',$this->_city->name);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
1. Только расширив класс CGridView
и переопределив метод renderTableRow()
2. См http://www.yiiframework.com/doc/guide/1.1/ru/database.arr
$criteria=new CDbCriteria();
$criteria->with = ['city']; // название отношения, используется как префикс
$criteria->compare('city.name', $this->_city->name);
...
Модель
$criteria->with = ['_city'];
$criteria->compare('_city.name', $this->_city->name);
Грид
array(
'name'=>'_city.name',
)
Вопрос: отображается то норм, но как теперь прикрутить поиск, чтобы работал как и остальные на аяксе и сортировку, ведь в th отображается только Name, без ссылок, через header прикручивать в ручную или есть способ?
$dataProvider=new CActiveDataProvider('Model', array(
'Sort'=>array(
'defaultOrder'=>'t.id DESC',
'attributes'=>array(
'CityName'=>array(
'asc'=>'_city.name',
'desc'=>'_city.name DESC',
'label'=>'Город,
'default'=>'asc',
),
'*',
),
),
...
'sortableAttributes'=>array(
...
'CityName',
...
),