gpt4 book ai didi

zend-framework - 将查询转换为使用 Zend_Db_Select

转载 作者:行者123 更新时间:2023-12-03 01:15:32 25 4
gpt4 key购买 nike

我在将此查询转换为使用 ZF 的 Zend_Db_Select 时遇到一些问题:

SELECT b.id, b.title, b.description 
FROM memberships AS m
JOIN blogs AS b ON b.id = m.blog_id
WHERE m.user_id = ?
ORDER BY m.created
LIMIT 0, 30

(此查询有效并返回结果)

Memberships博客用户 之间的链接表。这是一个简单的 |编号 |博客 ID | user_id | 事务。

这是我到目前为止所拥有的:

// $table = Zend_Db_Table instance, $id = a user id
$select = $table->select()
->from(array('m' => 'memberships'), array('b.id', 'b.title', 'b.description'))
->join(array('b' => 'blogs'), 'b.id = m.blog_id')
->where('m.user_id = ?', (int) $id)
->order('m.created DESC')
->limit(0, 30);

这是我遇到的(对我来说很奇怪)错误:

#0: Select query cannot join with another table

Occurred on line 211 of D:\...\library\Zend\Db\Table\Select.php.

感谢您的帮助。

最佳答案

您还可以通过添加 setIntegrityCheck(false) 来使用传统的 $model->select() 对象,如下所示。

$select = $table->select()
->setIntegrityCheck(false)
->from(array('m' => 'memberships'), array('b.id', 'b.title', 'b.description'))
->join(array('b' => 'blogs'), 'b.id = m.blog_id')
->where('m.user_id = ?', (int) $id)
->order('m.created DESC')
->limit(0, 30);

这将禁用引发异常的检查:

#0: Select query cannot join with another table

关于zend-framework - 将查询转换为使用 Zend_Db_Select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/520131/

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