phalcon のCriteriaのbetweenWhereはautobindなんでしょうか?
どうやって確認していいのかわからず、専門家の知見を拝借させてください。
仕事でphalconを使い始めました。英語マニュアルと格闘しながらModel周りを作っているのですが、例えばこんなコードではbindがうまく動いてくれませんでした。
$criteria = self::query();
$criteria->betweenWhere('created', ":start:", ":end:");
$criteria->bind(array("start" => $start, "end" => $end));
$criteria->bindTypes(
array("start"=>Column::TYPE_DATETIME,"end"=>Column::TYPE_DATETIME)
);
$row = $criteria->execute();
実行時のエラー
PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in
ですが、以下のコードであれば正常に動作します。
$criteria = self::query();
$criteria->where('created between :start: and :end:');
$criteria->bind(array("start" => $start, "end" => $end));
$row = $criteria->execute();
で、これも動きます
$criteria = self::query();
$criteria->betweenWhere('created', $start, $end);
$row = $criteria->execute();
これはつまり、betweenWhereはautobindしてくれているということでしょうか?
であればSQLインジェクション対策としてそれに頼りたいと思うのですが、
実際のところどうなんでしょうか?
ご教授くださいm(__)m