Cond1 と Cond2が満たされる必要がある、または Cond3 が満たされる必要がある以下の目的のSQLを考えると、getQuery()
それを達成するために使用する正しい方法は何ですか?
必要なSQL: 括弧内のCondition1およびCondition2)
SELECT * FROM #__myTable
WHERE (condition1=true AND condition2=true) OR condition3=true
連鎖あり: -> where()でORを指定する
$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
-> where()でORを指定する配列
$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