2017-03-11 68 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

相關問題