いくつか$query->andFilterWhere(...)
を使用してクエリを作成します。
そして、最終的なクエリを見ることができますecho $query->createCommand()->rawSql;
最終クエリをコピーして phpmyadmin に貼り付けると、2 つのレコードがフェッチされましたが、ActiveDataProvider に結果が見つかりませんでした。
私がそれを見逃しているポイントはどこですか?!
============================================
これは私のコードです:
$query = Camera::find();
$post = Yii::$app->request->post();
$post2 = array_filter((array)$post);
if( count($post2) >0 ){
foreach($post2 as $k=>$v){
$query->andFilterWhere([ 'Like' , $k , $v ]);
}
}
if($post['State'] > 0){
$branches = Branch::find()->joinWith('city')->where('state_id='.((int)$post['State']))->all();
foreach( $branches as &$v){
$v = $v->brch_id;
}
$query->andFilterWhere([ 'IN' , 'brch_id' , $branches ]);
}
echo $query->createCommand()->rawSql;
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);