1

最近、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
)

この間違いを防ぐ方法はありますか?

4

2 に答える 2

1
$this->db->join(
    'predict',
    "(predict.id_predict = portion.id_predict AND `event`.`id_event` = 5)",
    'left'
);

これを探していますか?

編集

$this->db->join('predict', "predict.id_predict = portion.id_predict", 'left');
$this->db->where('event.id_event = 5');
于 2013-02-05T05:22:16.943 に答える
0

2回利用もできます

$this->db->join(......);
$this->db->join(......);

アクティブなレコードを介した複数の結合用。

于 2013-02-11T05:53:53.633 に答える