php - 计算关系表条目

标签 php mysql yii

代码:

$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"}...]

最佳答案

为此,您需要按 profile.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);

关于php - 计算关系表条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137654/

相关文章:

mysql - Laravel Eloquent 或Where 问题

mysql - SQL 查询多个表,具有多个联接和带有逗号分隔列表的列字段

php yii 框架对象问题

php - 如何从mysql数据库中检索表名?

php - 选择 5 秒前插入的行

php - 使用 CSV 的第一行作为数组键

php - SELECT 然后立即 DELETE mysql 记录

mysql查询-记录在另一个记录中

php - 在 Yii 中通过命令执行 shell

javascript - 如何在jquery中使用Delay来执行方法