$criteria=new CDbCriteria();
$criteria->with = array('reviewCount', 'category10', 'category20', 'category30', 'town');
$criteria->select = 't.id,business,street,postalCode,contactNo,checkinCount,count(tbl_abc.id) as spcount';
$criteria->join = 'left join tbl_abc on t.id=tbl_abc.businessId';
$criteria->group = 't.id';
$criteria->order = 'spcount DESC';
$criteria->condition='spcount>1';
$bizModel = new CActiveDataProvider(Business::model(), array(
'criteria' => $criteria
));
Я получаю эту ошибку:условия критериев в рамках Yii PHP
Column not found: 1054 Unknown column 'spcount' in 'where clause'
Если я опустить условие запроса отлично работает & заказов предприятий по spcount. Итак, как мне переписать этот запрос таким образом, чтобы получить все предприятия, чья spcount больше 1?
having выполняет работу. Но есть одна проблема с этим. $ bizModel-> getTotalItemCount() равен 613, что на самом деле является общим числом записей, игнорирующих фильтр spcount> 1. Но в противном случае это показывает отфильтрованные результаты. Потому что Im использует Clistview, поэтому он создает проблему в разбиении на страницы. Его показ разбиения на страницы для 7 страниц, когда у него всего 7-8 записей. – iThink
@iThink Вы не можете переписать 'getTotalItemCount' для применения фильтра? – galymzhan
Посмотрите без использования фильтра i.e $ criteria-> having = 'spcount> 1' getTotalItemCount = 163. И использование фильтра getTotalItemCount должно быть 8, потому что его показ 8 записей, но getTotalItemCount равен 163 – iThink