gpt4 book ai didi

php - CakePHP语句查询

转载 作者:行者123 更新时间:2023-11-29 00:25:50 25 4
gpt4 key购买 nike

我对如何在 CakePHP 上编写查询有疑问。我不想使用 CakePHP 的查询生成器,而是使用语句查询。所以我的查询是:

SELECT `Post`.id, `Post`.title, COUNT(`Like`.id) AS `Posts_Liked`
FROM posts AS `Post`, likes AS `Like`
WHERE `Post`.id = `Like`.posts_id;

但是当我将结果发送到查看页面时,调用$post['post']['Posts_Liked']时无法获取计数,那么我应该如何调用它 View 中的数据?

最佳答案

根据 doc,聚合结果不会添加到数据数组中

您应该使用 virtual fields或者像这样获取数据:

$post[0]['Posts_Liked']

您可以使用

检查您的数据
debug($post);

查看数组的结构。

使用虚拟字段你可以这样实现:

$this->Post->virtualfields['Posts_liked'] = 0;
$this->Post->query('SELECT `Post`.id, `Post`.title, COUNT(`Like`.id) AS `Posts_liked` FROM posts AS `Post`, likes AS `Like` WHERE `Post`.id = `Like`.posts_id;');

然后照常获取数据

$post['Post']['Posts_liked']

如果你想让它永久存在,你应该试试 counterCache

关于php - CakePHP语句查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com