沃梦达 / 编程问答 / php问题 / 正文

Yii2 如何执行 where AND 或 OR 条件分组?

Yii2 How to perform where AND or OR condition grouping?(Yii2 如何执行 where AND 或 OR 条件分组?)

本文介绍了Yii2 如何执行 where AND 或 OR 条件分组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 Yii-2 框架的新手.我如何使用 activeQuery 和模型在 Yii-2 框架中实现以下查询.

I am new to Yii-2 framework. How can i achieve following query in Yii-2 framework using activeQuery and models.

SELECT * FROM users AS u WHERE u.user_id IN(1,5,8) AND (u.status = 1 OR u.verified = 1) OR (u.social_account = 1 AND u.enable_social = 1)

谢谢

推荐答案

你可以试试这个:

//SELECT * FROM users AS u WHERE u.user_id IN(1,5,8) AND (u.status = 1 OR u.verified = 1) OR (u.social_account = 1 AND u.enable_social = 1)
$model = arname()->find()
       ->andWhere(['user_id'=>[1,5,8]])
       ->andWhere(['or',
           ['status'=>1],
           ['verified'=>1]
       ])
       ->orWhere(['and',
           ['social_account'=>1],
           ['enable_social'=>1]
       ])
       ->all();

这篇关于Yii2 如何执行 where AND 或 OR 条件分组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Yii2 如何执行 where AND 或 OR 条件分组?

基础教程推荐