[英]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.