gpt4 book ai didi

mysql - 使用 Zend_Db_Select 在一个连接中包含多个表

转载 作者:行者123 更新时间:2023-11-30 23:30:28 28 4
gpt4 key购买 nike

我知道 Zend_Db_Select 的使用是可选的,但我想知道是否有办法使用它来生成以下 SQL:

         LEFT JOIN (pages p
, core_url_rewrite url)
ON p.page_id = mi.page_id
AND url.page_id = p.page_id

.. 或者如果不支持。据我所知,您一次只能加入一张 table 。如果你将表作为 Zend_Db_Expr 包含:

->joinLeft(new Zend_Db_Expr('(pages p, core_url_rewrite url)'), 
'ON p.page_id = mi.page_id
AND url.page_id = p.page_id')

然后我会得到类似下面的内容,这是无效的

         LEFT JOIN (pages p
, core_url_rewrite url) AS t
ON p.page_id = mi.page_id
AND url.page_id = p.page_id

最佳答案

不支持多表 JOIN。Zend_Db_Select 被编程为仅支持一个数组元素作为连接表参数名称,如果它是一个 Zend_Db_ExprZend_Db_Select 实例,它将分配它是别名“t”,假设您输入的是单个表名/表达式。

你可以把它分成两个joinLeft,这样可能对以后的维护更好,和你想要的没什么区别。

关于mysql - 使用 Zend_Db_Select 在一个连接中包含多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962943/

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