簡體   English   中英

如何在yii2 queryParams中設置OR條件?

[英]How do I can set OR condition in yii2 queryParams?

我有這個代碼

  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,
    ]);
}

用於actionIndex ,用於顯示我的索引頁面。 上面的代碼將顯示具有user_id==$userId parent_id==$userId

但這不是我所需要的,我需要的是具有user_id==$userId parent_id==$userId的頁面顯示數據。

我該怎么做?

如何在queryParams設置OR條件?

謝謝

在您的search()方法中,只需添加andWhere()條件:

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

或在控制器中:

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

您可以在where或運算符中使用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM