我有一个 sql_attr_multi 字段 当我通过
setFilterRange()
过滤其数据时,数据返回正确
但是,例如,如果我通过 SetSelect 执行此操作
$this->sphinx->SetSelect(
"*, IF(((field>= {$min} and field <={$max}) OR (field>= {$min1} and field <={$max1})), 1, 0) as fromField"
);
$this->sphinx->SetFilter('fromField', [1]);
然后 field 字段的对象为“0”,这就是为什么我只有在
$min = 0
时才获取数据。
即使不使用“OR”,我也会得到相同的结果
$this->sphinx->SetSelect(
"*, IF(((field>= {$min} and field <={$max})), 1, 0) as fromField"
);
为什么会发生这种情况?可能是什么问题?
我需要使用逻辑运算符“OR”过滤此字段。 我已经尝试了一千种方法,但我找不到合适的方法