Код: Выделить всё
public function realSearch($page = 20)
{
$criteria = new CDbCriteria();
$criteria->with = array('part_cat', 'part_sub1', 'part_sub2', 'countDemands');
$criteria->compare('t.cat_id', $this->cat_id);
$criteria->compare('t.status', $this->status);
$criteria->compare('t.sub1_id', $this->sub1_id);
$criteria->compare('t.sub2_id', $this->sub2_id);
$criteria->compare('t.part', $this->part, true);
return $dataProvider = new CActiveDataProvider($this, array(
'criteria' => $criteria,
'pagination' => array(
'pageSize' => $page,
),
));
}
Код: Выделить всё
'countDemands' => array(self::STAT, 'Demand', 'part_id', 'select' => 'sum(quantity)'),
Код: Выделить всё
$this->widget('yiiwheels.widgets.grid.WhGridView', array(
'id'=>'part-grid',
'type' => 'striped bordered',
'dataProvider' => $dataProvider,
'filter'=>$model,
'template'=>"{summary}{items}\n{pager}",
'columns' => array(
...
array(
'value'=>'$data->countDemands',
),
...
),
));
Причем судя по логам - для countDemands - делаются дополнительные запросы в таблицу на каждую строку.
Тоже не могу понять где накосячил.
Судя по:
Код: Выделить всё
...
$criteria->with = array('part_cat', 'part_sub1', 'part_sub2', 'countDemands');
...