最近,我再次注意到 CodeIgniter 的 ActiveRecord 库中有一个令人难以置信的逻辑错误。
当我尝试在连接中使用“AND”时,就会出现问题。
示例查询:
$this -> db -> join(
'predict',
"predict.id_predict = portion.id_predict AND event.id_event = 5",
'left'
);
结果:
LEFT JOIN `predict` ON
`predict`.`id_predict` = `portion`.`id_predict`
AND event.id_event = 5
但应该更有可能:
LEFT JOIN `predict` ON (
`predict`.`id_predict` = `portion`.`id_predict`
AND `event`.`id_event` = 5
)
有什么办法可以防止这个错误吗?