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 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?