I have this code to find a user from db which status is active and role is user
public static function findByUsername($username) { return static::find(['username' => $username, 'status' => static::STATUS_ACTIVE, 'role'=>'user']); }
I need to find a user that role is not equal to "user". How can I do this?
P.S: I'm using YII2
I want to offer another solution, it's more elegant for me. I usually use this approach since Yii 1 when i need check not equal operation.
$models = Book::find()->where('id != :id and type != :type', ['id'=>1, 'type'=>1])->all();
You can pass custom where clause like this:
andWhere(['!=', 'field', 'value'])
Your final function will look like:
public static function findByUsername($username) { return static::find() ->where([ 'username' => $username, 'status' => static::STATUS_ACTIVE ]) ->andWhere(['!=', 'role', 'user']) ->all(); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With