doufud21086 2017-08-07 09:29
浏览 162
已采纳

如何在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 09: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条)

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教