我有两张桌子:
1)用户
2)Trustmembers
我想从Trustmembers获取所有userId并与Id of Users表进行比较,然后我想打印来自匹配id的Users表的所有名称。
在sql中我可以编写像
这样的查询select name from users where Id IN(select userId from Trustmembers);
如何在php codeigniter的Model(MVC)中编写相同的查询以获得相同的结果?
除了使用Where_in ??
之外的任何其他方式答案 0 :(得分:0)
你可以这样做,
方法1:
$this->db->select('name')->from('users');
$this->db->where('Id IN (SELECT userId FROM `Trustmembers`)', NULL, FALSE);
$result = $this->db->get();
默认情况下, NULL, false
将用于不转义查询。
方法2
$this->db->select('name')->from('users');
$this->db->where_in('Id', 'SELECT userId FROM `Trustmembers`');
$result = $this->db->get();
方法3 :subquery library
$this->db->select('name')->from('users');
$subquery = $this->subquery->start_subquery('where_in');
$subquery->select('userId')->from('Trustmembers');
$this->subquery->end_subquery('Id', FALSE);
$result = $this->db->get();
我希望这会有所帮助。