Problem:-
How to add () between multiple where if you want to execute first 2 where first then last one. as you can add bracket in sql mention below.
Ci Query
x
$this->db->select("*");
$this->db->from('patient_details');
$this->db->where('pt_id', $login_user_id);
$this->db->or_where_in('sub_pt_id', $implode_child_array);
$this->db->where('status', 'Complete');
$query = $this->db->count_all_results();
Sql
**SELECT COUNT(*)
AS `numrows`
FROM `patient_details`
WHERE `pt_id` = '79'
OR `sub_pt_id` IN('80')
AND `status` = 'Complete'**
What i want is like below
SELECT COUNT(*) AS `numrows`
FROM `patient_details`
WHERE (`pt_id` = '79'
OR `sub_pt_id` IN('80'))
AND `status` = 'Complete'
Advertisement
Answer
Solution Query grouping
$this->db->group_start()
$this->db->where('pt_id', $login_user_id);
$this->db->or_where_in('sub_pt_id', $implode_child_array);
$this->db->group_end()
$this->db->where('status', 'Complete');