コード:
$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}...]
COUNT を使用すると、クエリは最初の MySQL エントリで停止します。コードですべてのエントリを返し、関係イベントがあるかどうかを確認したいと思います。
私が望む応答:
[{"id":"1","name":"Profile 1","event_relational":"0"},{"id":"2","name":"Profile 2","event_relational":"1"}...]