Yii のCDBCrtieria
ビルダーに問題があります。PDO が提供するエスケープおよび安全な関数を使用しながら、かなり複雑なクエリを作成しようとしています。
基本的に作成しようとしているクエリは次のとおりです。
SELECT * FROM tbl_audit_log
WHERE (model_id = 1 AND model = "Title") OR
(model_id = 1 AND model = "Product") //etc
これは、次のように PHP で動的に構築されています。
$model_ids = array(array($model->id, 'Title'));
foreach($model->products as $id => $product){
$model_ids[][] = $product->id;
$model_ids[][] = "Product";
}
WHERE
そのため、クエリを作成する前にの値はわかりません。ビルドする簡単な方法を見つけなければなりません:
WHERE (model_id = 1 AND model = "Title") OR
(model_id = 1 AND model = "Product") //etc
動的に。
私はドキュメントに目を通しましたが、最も近いのは、addCondition
適切に機能させるために複雑なコーディングが必要になるものです。
パラメータなどに名前を付けるための複雑なコードを書かなくても、Yii はこれを実現する簡単な方法を提供していますか?