gpt4 book ai didi

phalcon - 使用 INNER JOIN 加载模型

转载 作者:行者123 更新时间:2023-12-04 23:51:15 26 4
gpt4 key购买 nike

假设我有一个 Phalcon\Mvc\Model我使用 ::findFirst($id) 加载.

如何交换一个自定义查询来加载模型行并在其他表上执行 INNER JOIN?

谢谢!

最佳答案

我确定您可以使用查询构建器进行简单的连接,例如:

<?php

//Getting a whole set
$robots = $this->modelsManager->createBuilder()
->from('Robots')
->join('RobotsParts')
->orderBy('Robots.name')
->getQuery()
->execute();

//Getting the first row
$robots = $this->modelsManager->createBuilder()
->from('Robots')
->join('RobotsParts')
->orderBy('Robots.name')
->getQuery()
->getSingleResult();

或文档中的 PHQL 示例:
<?php

$phql = "SELECT Robots.*
FROM Robots JOIN RobotsParts p
ORDER BY Robots.name LIMIT 20";
$result = $manager->executeQuery($phql);

默认情况下,假定为 INNER JOIN。不过,您可以在查询中指定 JOIN 的类型。

引用: http://docs.phalconphp.com/en/latest/reference/phql.html#creating-queries-using-the-query-builder

然后我会重载模型的 findFirst() 方法来利用上面的代码并将结果值分配给模型的属性。

关于phalcon - 使用 INNER JOIN 加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715835/

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