我正在尝试使用以下代码从表中提取记录
document.cookie = "coolName"+ "=" +"coolValue"+ ";" + "expires="+ new Date(new Date().getTime()+60*60*1000*24).toGMTString()+";path=/";
这将输出这样的查询
$userId = Yii::$app->user->id;
$lists = PromoLists::findAll(['user_id' => $userId, 'list_type' => 'custom']);
但我无法在文档中找到任何可以帮助我实现以下条件的内容。
select * from promo_lists where user_id ='$userId' and list_type='custom'
因为状态是select * from promo_lists where user_id ='$userId' and list_type='custom' and status!='deleted'
字段,并且有4种不同的状态
ENUM
目前我使用了以下方法
'active','pending','rejected','deleted'
输出以下查询
PromoLists::findAll(['user_id' => $userId, 'list_type' => 'custom', 'status'=>['active','pending','rejected']]);
以某种方式实现相同的目的,但每次有新的状态类型添加到表格列select * from promo_lists where user_id ='$userId' and list_type='custom' and status in ('active','pending','rejected')
时,都需要编辑此查询。
我知道我可以使用status
但如何使用PromoLists::find()->where()->andWhere()->all()
与!=
/ <>
运营商核对。
答案 0 :(得分:2)
就像这样:
PromoLists::find()->where(['and',
[
'user_id' => $userId,
'list_type' => 'custom',
],
['<>', 'status', 'deleted'],
])->all();
答案 1 :(得分:1)
在条件
中使用运算符格式http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html#operator-format
PromoLists::find()
->andWhere([
'user_id' => $userId,
'list_type' => 'custom',
['!=', 'status', 'deleted']
])
->all();