次のステートメントを作成しようとしています。
select * from donors where field is NOT NULL;
Codeigniterを使用すると、私のコードは次のようになります。
$where = ['field' => NULL];
$this->db->get_where('table', $where);
documentation が表示されたら、$this->db->where()
を3番目のパラメーターをFALSEに設定して使用すると、クエリをエスケープできません。例:
$this->db->where('field is NOT NULL', NULL, FALSE);
または、次のようなカスタムクエリ文字列を使用できます
$where = "field is NOT NULL";
$this->db->where($where);
したがって、クエリビルダーは次のようになります。
$this->db->select('*');
$this->db->where('field is NOT NULL', NULL, FALSE);
$this->db->get('donors');
OR
$this->db->select('*');
$where = "field is NOT NULL";
$this->db->where($where);
$this->db->get('donors');
これを試して:
$this -> db -> get_where('donors', array('field !=' => NULL));
複数のwhereおよびhaving条件を持つ複雑なクエリがある場合。
以下の例をご覧ください。
$this->db->select(['id', 'email_address', 'abandon_at','datediff(now(),`abandon_at`) AS daysdiff ' ]);
$this->db->having('daysdiff < 11');
$query = $this->db->get_where('forms', array('abandon_form' => 1,'abandon_at !=' => 'NULL') );
return $query->result();
これを試して:
$this->db->where('columnName !=', null);