yii 是否在WHERE子句中添加第二个条件?

wbrvyc0a  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(256)

我试图在foreach循环的WHERE中添加第二个条件。

$customers = Customers::find()->where(['status' => 1])->orderBy('vip DESC, id ASC')->all();

目前,我有它过滤的地方状态=1,但我还需要添加的地方'排名'不等于文本“可以”。
我需要StackOverflow的原因是,我试图在网上找到答案,但我有一个文本比较和一个新的查询方法,我以前没有使用过,所以我不能很好地研究。
如何在WHERE子句中添加附加条件“AND 'rank'!= 'Can'?
如果让我猜的话,我会这样写(可能是错的)

$customers = Customers::find()->where(['status' => 1])
    ->andwhere (['rank' !=> 'Can'])
    ->orderBy('vip DESC, id ASC')->all();
ycl3bljg

ycl3bljg1#

根据令人惊奇的ActiveQuery文档,你必须使用andWhere()方法:

$customers = Customers::find()->where(['status' => 1])
   ->andwhere (['not', ['rank' => 'Can']])
   ->orderBy('vip DESC, id ASC')->all();

或:

->andwhere (['<>', 'rank', 'Can'])

请记住,PHP没有!=>比较运算符!

7xzttuei

7xzttuei2#

在Yii,我想你需要改变,去哪里,去哪里.或者试试这个

$customers = Customers::find()->where("status = 1 and rank!='Can'"])->orderBy('vip DESC, id ASC')->all();

相关问题