CakePHP:COUNT 函数和模型连接帮助

发布于 2024-09-19 17:02:10 字数 408 浏览 8 评论 0原文

我正在尝试连接表以获取字段的计数,但无法弄清楚如何执行此操作。这是我的表格:

tags
id     INT
tag    VARCHAR

project_tags
id         INT
project_id INT
tag_id     INT

projects
id     INT
...

我想在我的视图中显示这样的内容:

[tags.tag] x 23
[tags.tag] x 12
...

现在我不是 SQL 专家,但我认为我在 SQL 中的目标是对 tag_id 执行计数,其中 tag_id = tag.id 按 tag_id 分组。我认为。

我现在非常确定如何在蛋糕控制器中执行此操作。

有人可以帮忙吗?

I'm trying to join tables to get a count on a field but am having trouble figuring out how to do it. here are my tables:

tags
id     INT
tag    VARCHAR

project_tags
id         INT
project_id INT
tag_id     INT

projects
id     INT
...

I want show in my view something like this:

[tags.tag] x 23
[tags.tag] x 12
...

Now I'm no SQL expert but I think what I'd be aiming for in SQL would be performing count on tag_id where tag_id = tags.id grouped by tag_id. I think.

I'm just now so sure how to do this in a cake controller.

Can someone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七分※倦醒 2024-09-26 17:02:10

也许将此查询发送到数据库:

 SELECT t.tag, COUNT(*) AS NumOccurrances
 FROM project_tags pt 
 INNER JOIN tags t ON t.id = pt.tag_id
 GROUP BY  t.tag
 ORDER BY 2 DESC  --sorting by count.

在您的控制器中,执行临时 SQL:

$results = $this->Tag->query("select ...");

有关 CakePHP 查询数据库的更多信息。也许将其汇总到 MySQL 中的 存储过程中,并从 Cake 控制器调用

$results = $this->query("CALL MyStoredProc");

Perhaps send this query to the database:

 SELECT t.tag, COUNT(*) AS NumOccurrances
 FROM project_tags pt 
 INNER JOIN tags t ON t.id = pt.tag_id
 GROUP BY  t.tag
 ORDER BY 2 DESC  --sorting by count.

In your controller, execute ad-hoc SQL:

$results = $this->Tag->query("select ...");

More on CakePHP querying a database. Perhaps roll this up into a stored procedure in MySQL, and call from your Cake controller.

$results = $this->query("CALL MyStoredProc");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文