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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WHERE子句中添加第二个条件?相关的知识,希望对你有一定的参考价值。

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

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

目前,我有过滤where status = 1,但我还需要添加'rank'不等于文本“Can”。

我需要StackOverflow的原因是我试图在网上找到答案,但我有一个文本比较和一个我以前没用过的新查询方法所以我不能很好地研究。

如何在WHERE子句中添加附加条件“AND'level'!='Can'?

如果我不得不猜测它,我会这样写(可能是错的)

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

根据惊人的ActiveQuery documentation,你必须使用andWhere()方法:

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

要么:

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

请记住,那qazxsw poi没有qazxsw poi比较运算符!

另一答案

在Yii,我认为你需要改变,并在哪里和哪里。或试试这个

php

以上是关于在WHERE子句中添加第二个条件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mysqli 准备语句中使用多个内部连接和多个 WHERE 子句? [复制]

更新两个值,第二个值具有 where 子句

SQL Selects combine - 第二个选择在 Where 子句中

Laravel 4:将 where 子句添加到连接条件

雪花,SQL where 子句

在 from 子句 *and* where 子句中添加连接条件使查询更快。为啥?