我们的实时狮身人面像表中有一个名为' price'的属性,并希望允许用户在进行搜索时为此定义最小值和最大值。虽然看起来没有办法只定义其中一个参数,至少不是我能找到的。
然后,当没有设置时,通过设置荒谬的maxvalue,代码会变得有点丑陋。此示例中的类值只是收集的$ _GET变量。
所以问题是,如何让过滤器只定义一个最小值,最大值而不是两者?
if($this->_priceRangeMin > 0 || $this->_priceRangeMax > 0)
{
if(($this->_priceRangeMin > 0) === false )
$this->_priceRangeMin = 0;
if(($this->_priceRangeMax > 0) === false )
$this->_priceRangeMax = 4294967295;
}
$s->SetFilterRange('price', $this->_priceRangeMin, $this->_priceRangeMax);
答案 0 :(得分:0)
你得到的代码有什么问题?它的工作原理不是吗?
如果你真的只想使用不等式过滤器而不是范围,可以使用SphinxQL来进行查询。但是怀疑它会为你节省一切。