เมื่อพิจารณาจาก SQL ที่ต้องการด้านล่างโดยที่ Cond1 และ Cond2 ต้องเป็นไปตามที่กำหนดหรือต้องพบกับ Cond3 สำหรับการเลือกวิธีที่ถูกต้องในการใช้getQuery()
เพื่อให้บรรลุนั้นคืออะไร?
SQL ที่ต้องการ: Condition1 และ Condition2 ภายในวงเล็บ)
SELECT * FROM #__myTable
WHERE (condition1=true AND condition2=true) OR condition3=true
เมื่อมีการผูกมัด: การ ระบุหรือใน -> where ()
$query = $db->getQuery(true);
$query->select('* FROM #__myTable')
->where('condition1 = true AND condition2 = true','OR')
->where('condition3 = true');
ผลลัพธ์ SQL: (SQL ขาดเครื่องหมายวงเล็บ)
SELECT * FROM scm_myTable
WHERE condition1 = true AND condition2 = true OR condition3 = true
ด้วย Array ที่ ระบุหรือใน -> where ()
$query = $db->getQuery(true);
$conditions12 = array(
'condition1 = true',
'condition2 = true'
);
$conditions3 = array(
'condition3 = true'
);
$query->select('* FROM #__myTable')
->where($conditions12, 'OR')
->where($conditions3);
ผลลัพธ์ SQL: (SQL ขาดเครื่องหมายวงเล็บ)
SELECT * FROM scm_myTable
WHERE condition1 = true OR condition2 = true OR condition3 = true