Mengingat SQL yang diinginkan di bawah ini, di mana Cond1 dan Cond2 harus dipenuhi ATAU Cond3 harus dipenuhi untuk seleksi, apa cara yang benar untuk digunakan getQuery()untuk mencapainya?
SQL Diinginkan: Condition1 dan Condition2 dalam tanda kurung)
SELECT * FROM #__myTable
WHERE (condition1=true AND condition2=true) OR condition3=true
Dengan Rantai: menentukan ATAU di -> di mana ()
$query = $db->getQuery(true);
$query->select('* FROM #__myTable')
->where('condition1 = true AND condition2 = true','OR')
->where('condition3 = true');
SQL yang dihasilkan: (SQL tidak ada tanda kurung)
SELECT * FROM scm_myTable
WHERE condition1 = true AND condition2 = true OR condition3 = true
Dengan Array menentukan ATAU di -> di mana ()
$query = $db->getQuery(true);
$conditions12 = array(
'condition1 = true',
'condition2 = true'
);
$conditions3 = array(
'condition3 = true'
);
$query->select('* FROM #__myTable')
->where($conditions12, 'OR')
->where($conditions3);
SQL yang dihasilkan: (SQL tidak ada tanda kurung)
SELECT * FROM scm_myTable
WHERE condition1 = true OR condition2 = true OR condition3 = true