gpt4 book ai didi

php - Yii2-activedataprovider 不获取数据

转载 作者:行者123 更新时间:2023-11-28 23:38:27 25 4
gpt4 key购买 nike

我使用一些 $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,
]);

最佳答案

问题是这个循环:

foreach( $branches as &$v){
$v = $v->brch_id;
}

我只是将其替换为:

$a = [];
foreach( $branches as $v){
$a[] = (int)$v->brch_id;
}

完成,解决了!!!!!! :|

关于php - Yii2-activedataprovider 不获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35111431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com