gpt4 book ai didi

Codeigniter JOIN(选择查询

转载 作者:行者123 更新时间:2023-12-03 16:47:30 25 4
gpt4 key购买 nike

可以通过 CI Query Builder 类生成以下查询吗?

SELECT name 
FROM table1 t1
JOIN
(SELECT ID FROM table2 ORDER BY id LIMIT 5) t2
ON t2.id=t1.t2_id
WHERE t1.id>5

最佳答案

那么有几种方法可以做到这一点。一种方法在这里是一个黑客。

How can I rewrite this SQL into CodeIgniter's Active Records?

这种另一种方式非常简单。

$this->db
->select('ID')
->from('table2')
->order_by('id')
->limit('5');

$subquery = $this->db->_compile_select();

$this->db->_reset_select();

$query = $this->db
->select('t1.name')
->from('table1 t1 ')
->join("($subquery) t2","t2.id = t1.t2_id")
->get('table1 t1');

关于它的一些观点。
您必须在子查询中使用 from 子句,因为 get 运行查询。
在 codeigniter 2 中 _compile_select 和 _reset_select 无法访问,因为它们是 protected 方法。
您可能需要在 system/database/DB_active_rec.php 中的两种方法之前删除关键字

This文章也很有用。

关于Codeigniter JOIN(选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14251358/

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