当我尝试使用 CDbCriteria 来计算记录时,我得到活动记录“Hotels”正在尝试选择无效列“count(t. id
) as count
”。
这是我的代码:
$criteria = new CDbCriteria();
$criteria->select = 'count(t.id) as `count`, t.`keywords`, min(offers.first_bookin) as first_bookin';
$criteria->with = array('offers');
$criteria->group = 'offers.hotels_id';
$criteria->compare('first_bookin','>' . date('Y-m-d'));
$criteria->together = true;
$hotelItems = Hotels::model()->findAll($criteria);
这是我在酒店模型中定义的关系:
return array(
'headers' => array(self::HAS_MANY, 'Headers', 'hotels_id'),
'offers' => array(self::HAS_MANY, 'Offers', 'hotels_id'),
);
我在这里和其他一些网站上发了很多帖子,但似乎没有任何效果。我尝试使用 count(*)、count(id),我尝试将 select 属性拆分为一个数组。每次我得到同样的错误。