2012-10-30 2 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의 항목에서 쿼리 정지를 COUNT 사용하십시오. 코드에서 모든 항목을 반환하고 관계형 이벤트가 있는지 확인하고 싶습니다. 내가 원하는

응답 :

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

답변

2

이 작업을 수행하려면, 당신은 profile.id에 의해 group해야합니다

$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); 
관련 문제