Dado el SQL deseado a continuación, donde se deben cumplir Cond1 y Cond2 O se debe cumplir Cond3 para la selección, ¿cuál es la forma correcta de usar getQuery()
para lograrlo?
SQL deseado: condición1 y condición2 entre paréntesis)
SELECT * FROM #__myTable
WHERE (condition1=true AND condition2=true) OR condition3=true
Con encadenamiento: especificando OR en el -> where ()
$query = $db->getQuery(true);
$query->select('* FROM #__myTable')
->where('condition1 = true AND condition2 = true','OR')
->where('condition3 = true');
SQL resultante: (SQL falta paréntesis)
SELECT * FROM scm_myTable
WHERE condition1 = true AND condition2 = true OR condition3 = true
Con matrices que especifican OR en el -> 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 resultante: (SQL falta paréntesis)
SELECT * FROM scm_myTable
WHERE condition1 = true OR condition2 = true OR condition3 = true