web-dev-qa-db-ja.com

Codeigniter Active Recordの場所に配列を渡します

データベースにadminIdとclientIdを持つテーブルがあります

ログインしたユーザーのadminIdを持つレコードが20個ある可能性があり、クライアントのリストをプルしようとしています。

私は何か言うことができる方法があるのだろうかと思います:

$this->db->where('id', '20 || 15 || 22 || 46 || 86');

動的データを使用してこれを実行しようとしています(プルする必要があるクライアントIDの数はわかりません)。何か案は?

34
Daniel White
$this->db->where_in('id', array('20','15','22','42','86'));

参照: where_in

74
joHN

where_in() を使用します

$ids = array('20', '15', '22', '46', '86');
$this->db->where_in('id', $ids );
17
Stanley

Active Recordのドキュメントから:

$this->db->where_in();

必要に応じてANDで結合されたWHEREフィールドIN( 'item'、 'item')SQLクエリを生成します

$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')
12
Osiris

必要に応じてANDで結合されたWHEREフィールドIN(「アイテム」、「アイテム」)SQLクエリを生成します。

$this->db->where_in()
ex :  $this->db->where_in('id', array('1','2','3'));

OR該当する場合)で結合されたWHEREフィールドIN(「アイテム」、「アイテム」)SQLクエリを生成します

$this->db->or_where_in()
ex :  $this->db->where_in('id', array('1','2','3'));
3
Thiyagu