为什么 sphinx 在通过 SetSelect() 创建查询时返回零

问题描述 投票:0回答:0

我有一个 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”过滤此字段。 我已经尝试了一千种方法,但我找不到合适的方法

php sphinx
© www.soinside.com 2019 - 2024. All rights reserved.