doufud21086 2017-08-07 01:29
浏览 163
已采纳

如何在yii2 queryParams中设置OR条件?

I've this code

  public function actionIndex() {
    $model = new Out();
    $searchModel = new VatoutFakturOutSearch();
    if (Yii::$app->request->post('hasEditable')) {

    $userId = Yii::$app->user->id;
    $searchModel->user_id = $userId;
$searchModel->parent_id = $userId;
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    $dataProvider->pagination->pageSize = 100;

    return $this->render('index', [
                'searchModel' => $searchModel,
                'model' => $model,
                'dataProvider' => $dataProvider,
    ]);
}

for actionIndex, for showing my index page. with code above it will show data which has user_id==$userId AND parent_id==$userId.

But that's not what I need, what I need is the page show data which has user_id==$userId OR parent_id==$userId.

How do I can do that?

How do I can set OR condition in queryParams?

Thanks

  • 写回答

2条回答 默认 最新

  • duanfeng7756 2017-08-07 01:36
    关注

    In your search() method just simply add andWhere() condition:

    $query->andWhere(['or',
            ['user_id' => $this->user_id],
            ['parent_id' => $this->user_id],
    ]);
    

    Or in controller:

    $dataProvider->query->andWhere(['or',
            ['user_id' => $userId],
            ['parent_id' => $userId],
    ]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部