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