gpt4 book ai didi

mysql - 获取所有当前连接到 yii2 ActiveQuery 中的查询

转载 作者:可可西里 更新时间:2023-11-01 08:05:22 24 4
gpt4 key购买 nike

有没有办法从查询中获取所有连接表?

例如:

query = Account::find()->joinWith(['gallery'])->joinWith(['articles'])->etc...

yii2 中是否有任何集成方法可以返回上述连接表(或我可以 Hook 以手动获取它们的事件)?

最佳答案

@Beowulfenator 建议的解决方案仅显示与关系的连接(使用 joinWith() 方法添加。

要显示所有连接,您需要像这样准备查询:

$query = Account::find()
->join('...', '...')
->joinWith(['gallery', 'articles']); // By the way, you can reduce you code like this

$query->prepare();

这会将 yii\db\ActiveQuery 转换为简单的 yii\db\Query ,它没有 joinWith 属性但有 join 准确显示所有连接的属性。

您可以var_dump 并查看它:

var_dump($query->join);
exit();

第一个元素存储连接类型,第二个元素 - 表名(请注意,它可以是字符串或数组,具体取决于使用的关系),第三个 - on 条件。

关于mysql - 获取所有当前连接到 yii2 ActiveQuery 中的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31588370/

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