2017-03-11 105 views
0

我有两个表:如何在php codeigniter中使用`where'和`in`子句?

1)用户
2)Trustmembers

我想借此从Trustmembers所有用户标识的,并与用户表的标识比较,然后我想从用户表打印所有的名字匹配的ID的。

在SQL中我可以编写

select name from users where Id IN(select userId from Trustmembers); 

查询如何写模型(MVC)PHP笨的相同的查询得到同样的结果?

或者除了使用Where_in之外的其他任何方式?

+0

反驳此链接:http://stackoverflow.com/questions/35405635/convert-simple-select-statement-from-php-to-mvc-php –

回答

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(); 

方法3subquery 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(); 

我希望这将有助于。

+0

codeigniter has this-> db-> where_in()https: //www.codeigniter.com/user_guide/database/query_builder.html#CI_DB_query_builder::where_in – user4419336

+0

Codeigniter提供了where_in(),where_not_in()等,我们也可以使用这些函数。 – Bhavin

+0

@巴尔文:我觉得以上三种方式就够了,可能还有更多! – rahulsm

相关问题