gpt4 book ai didi

php - codeigniter 从同一张表中选择加入两次

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:58 24 4
gpt4 key购买 nike

我有 3 个表,第一个表是给用户的。在另外两个中,我有 id_user,用于创建产品或激活创建者。我如何使用两个用户名显示这两个表中的所有数据?我弄清楚了如何加入 2 个表,但第三次我加入了两次,但我不知道如何加入。这是两个表的示例:

        $query=$this->db->select('*')
->from('activation')
->join('products','products.id_pro = activation.id_pro')
->order_by('id_key','DESC')
->get();

表激活有带用户 ID 的列 user_a,产品有带用户 ID 的列 user_p。有时是同一个用户,有时不是。有帮助吗?

最佳答案

下面是我使用别名的方法。您也可以按照自己的方式对其进行格式化。

 $this->db->select('tb1.*,tb2.*,u.*');
$this->db->join('table1name tb1','tb1.id = u.tb1_id');
$this->db->join('table2name tb2','tb2.id = u.tb2_id');
$this->db->order_by('u.id_key','DESC');
$result = $this->db->get('User u')->result();

如果您想在左连接和右连接之间切换,只需在连接函数中添加“左”或“右”即可。

 $this->db->join('table1name pr1','pr1.id = u.tb1_id','right');
$this->db->join('table2name tb2','tb2.id = u.tb2_id','right');

这会优先考虑您的用户表。

关于php - codeigniter 从同一张表中选择加入两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042341/

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