如何在php codeigniter中同时使用'where'和'in'子句?

如何在php codeigniter中同时使用'where'和'in'子句?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有两张桌子: 1) 用户 2) 信托成员 我想从Trustmembers获取所有用户Id,并与Users表的Id进行比较,然后我想打印匹配Id的Users表中的所有名称 在sql中,我可以编写如下查询 select name from users where Id IN(select userId from Trustmembers); 如何在php codeigniter的模型(MVC)中编写相同的查询以获得相同的结果 或者除了使用Where_in???之外的任何其他方法,您可以这样做

我有两张桌子:

1) 用户
2) 信托成员

我想从Trustmembers获取所有用户Id,并与Users表的Id进行比较,然后我想打印匹配Id的Users表中的所有名称

在sql中,我可以编写如下查询

select name from users where Id IN(select userId from Trustmembers); 
如何在php codeigniter的模型(MVC)中编写相同的查询以获得相同的结果

或者除了使用Where_in???

之外的任何其他方法,您可以这样做

方法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


我希望这会有所帮助。

reffer这个链接:codeigniter有这个->db->where\u in()codeigniter提供where\u in()、where\u not\u in()等等。我们也可以使用这些函数。@Bhavin:我认为以上三种方法就足够了,可能还有更多!我尝试了所有三种方法,但没有得到所需的结果。你会得到什么错误,我确信,你还没有尝试最后一种,它需要这个库包含在你的库中
$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();