大家好!IN 条件在模型中的搜索行为很奇怪,我们假设这样一个查询直接到数据库:
SELECT * FROM `event` WHERE type in (1,0)
工作正常,找到 0 种类型,这是与模型类似的查询:
$model_s=$model_p->find()->where(['in', 'type', [1,0]])->orderBy(['type'=>SORT_DESC])->all();
在你这样写之前不会返回 0 [0,1] 我做错了什么?
第二个问题 - 是否有可能将模型发送到数据库的 sql?
感谢您的关注,我知道文档需要检查和检查......它只是像这样'type in('.$get_event_type.')',也就是我写的地方,但各种['in', 'type', ' ('.$get_event_type.')'] 不起作用。
有可能是这样的:
根据参数类型,这种类型的条件会有所不同:
null
,则将其['type' => null]
转换为type IS NULL
['type' => 1]
,那么type = 1
['type' => [1, 2, 3]]
那么type IN (1, 2, 3)