2012-10-30 45 views
1

代碼:計數關係表條目

$criteria = new CDbCriteria; 
$criteria->select='id, name, count(events.id) AS event_relational'; 
$criteria->with=array('events'); 
$model = Profiles::model()->findAll($criteria); 

響應:

[{"id":"1","name":"Profile 1","event_relational":"0"}] 

代碼2:

$criteria = new CDbCriteria; 
$criteria->select='id, name'; 
$criteria->with=array('events'); 
$model = Profiles::model()->findAll($criteria); 

響應2:

[{"id":"1","name":"Profile 1","event_relational":null},{"id":"2","name":"Profile 2","event_relational":null}...] 


當我使用次數第一的MySQL進入查詢停止。 我想代碼返回所有條目,並檢查是否有關係事件。

迴應,我想:

[{"id":"1","name":"Profile 1","event_relational":"0"},{"id":"2","name":"Profile 2","event_relational":"1"}...] 

回答

2

要做到這一點,你需要groupprofile.id

$criteria = new CDbCriteria; 
$criteria->select='id, name, count(events.id) AS event_relational'; 
$criteria->with=array('events'); 
$criteria->group='t.id'; 
$model = Profiles::model()->findAll($criteria);