Étant donné le SQL souhaité ci-dessous, où Cond1 et Cond2 doivent être remplies OU Cond3 doit être respecté pour la sélection, quelle est la bonne façon d'utiliser getQuery()
pour y parvenir?
SQL souhaité: Condition1 et Condition2 entre parenthèses)
SELECT * FROM #__myTable
WHERE (condition1=true AND condition2=true) OR condition3=true
Avec chaînage: spécification OU dans le -> où ()
$query = $db->getQuery(true);
$query->select('* FROM #__myTable')
->where('condition1 = true AND condition2 = true','OR')
->where('condition3 = true');
SQL résultant: (il manque des parenthèses dans SQL)
SELECT * FROM scm_myTable
WHERE condition1 = true AND condition2 = true OR condition3 = true
Avec des tableaux spécifiant OU dans le -> où ()
$query = $db->getQuery(true);
$conditions12 = array(
'condition1 = true',
'condition2 = true'
);
$conditions3 = array(
'condition3 = true'
);
$query->select('* FROM #__myTable')
->where($conditions12, 'OR')
->where($conditions3);
SQL résultant: (il manque des parenthèses dans SQL)
SELECT * FROM scm_myTable
WHERE condition1 = true OR condition2 = true OR condition3 = true