Laravel侦查预过滤结果。内置where()不够高级

时间:2018-11-15 23:42:21

标签: php laravel eloquent laravel-scout

我有一个订单模型,希望能够创建两个搜索。

  • 仅搜索不完整订单的商品。
  • 仅搜索完整订单的一个。

我希望这是一件简单的事情,但似乎并非如此!

  1. 在我的订单表中,我有一个completed_at字段,该字段在完成时提供日期,在不提供时提供空值。内置的Order::Search->where()方法不允许您提供比较器,也不能采用null ...因此这是行不通的!

  2. 我想为模型创建多个索引,然后使用->within('open_orders')函数来搜索正确的索引。看来它可以提供很大的灵活性,但我也看不到实现此目的的方法。

模型中类似的东西会很棒(但不起作用)

public function searchableAs()
{
    if($this->isOpen()){
        return 'open_orders_index';
    } else {
        return 'complete_orders_index';
    }
}

有人可以建议任何解决方法来预过滤搜索查询吗?

0 个答案:

没有答案