2

我正在我的项目中设置搜索。其中包括多个要搜索的模型。首先,我尝试使用 scout 和 scout extended,但它并没有为 where 子句提供太大的灵活性。所以我想看看,composer require spatie/laravel-searchable但似乎它的依赖是laravel 5.8. 但我的laravel版本是5.7.28。请为我提供解决方案。

我应该如何进行相同的操作?

我尝试使用 scout 和 scout extended,但它并没有给 where 子句提供很大的灵活性

  $channels = Channel::where('created_at', '>', now()->subDays(7))->get();
       return view('search.index')->with(compact('channels'));

这非常有效,因为这是一个简单的查询,但如果我尝试使用 scout 和 algolia(搜索请求)

$channels = Channel::search($request->q)->where('created_at', '>', now()- 
          >subDays(7))->get();

它没有给出任何结果。

当我尝试安装composer require spatie/laravel-searchable

我收到了这个错误

问题 1

  • 只能安装以下之一:laravel/framework[v5.7.28, 5.8.x-dev]。
  • 只能安装以下之一:laravel/framework[5.8.x-dev, v5.7.28]。
  • 只能安装以下之一:laravel/framework[5.8.x-dev, v5.7.28]。
  • spatie/laravel-searchable 1.3.0 需要 laravel/framework ~5.8.0 -> laravel/framework[5.8.x-dev] 可以满足。
  • spatie/laravel-searchable ^1.3 的安装请求 -> spatie/laravel-searchable[1.3.0] 可满足。
  • laravel/framework 的安装请求(锁定在 v5.7.28,要求为 5.7.*)-> laravel/framework[v5.7.28] 可以满足。
4

1 回答 1

1

Laravel 5.7 支持下降,v1.3.0因此您需要安装旧版本。

变更日志:https ://github.com/spatie/laravel-searchable/blob/master/CHANGELOG.md

您可以使用以下命令安装旧版本:

composer require spatie/laravel-searchable:1.2.3

或者将此版本添加到您的composer.json文件中并运行composer update

于 2019-06-27T06:33:59.717 回答