1

ORに関連するいくつかの条件でリクエストがあります。モジュール内:

$array = array('hostel.postal_code' => $filter_state, 'region.name' => $filter_state, 'hostel.town' => $filter_state, 'state.name' => $filter_state);
$this->db->or_like($array);

SQLが表示されます:

WHERE `bp_hostel`.`status` =  'A'
AND `bp_hostel`.`postal_code`  LIKE '%Vic%'
OR  `bp_region`.`name`  LIKE '%Vic%'
OR  `bp_hostel`.`town`  LIKE '%Vic%'
OR  `bp_state`.`name`  LIKE '%Vic%'
ORDER BY `view_count` desc

リクエストに疑問があります。次のように、「(...)」を設定して、SQLが正しいことを確認したいと思います。

WHERE `bp_hostel`.`status` =  'A'
AND ( `bp_hostel`.`postal_code`  LIKE '%Vic%'
OR  `bp_region`.`name`  LIKE '%Vic%'
OR  `bp_hostel`.`town`  LIKE '%Vic%'
OR  `bp_state`.`name`  LIKE '%Vic%' )
ORDER BY `view_count` desc

私はドキュメントを読みました:

You can wrote your requests by hands:
$where = "name='Joe' AND status='boss' OR status='active'";
$this->db->where($where);

しかし、すべての条件を 1 つの文字列として記述するのは好きではないため、このバリアントは不便であることがわかりました。この Methods メソッドには、さらに SQL 条件がいくつかあります...

これを作る方法は?

4

0 に答える 0