我正在尝试在我的Laravel项目中安装Eloquence。
我正在关注安装,并且我已完成以下操作:
问题:Post::search('jarek sofa')->get();
会导致
FatalThrowableError in Builder.php line 77:
Call to a member function make() on null
可能的原因:
提前致谢
答案 0 :(得分:1)
终于开始工作了!
解决方案:添加\Sofa\Eloquence\Builder::setParserFactory(new \Sofa\Eloquence\Searchable\ParserFactory);
在AppServiceProvider
启动方法中,如下所示:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
\Sofa\Eloquence\Builder::setParserFactory(new \Sofa\Eloquence\Searchable\ParserFactory);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
答案 1 :(得分:0)
您是否尝试在控制台中运行composer update命令?
答案 2 :(得分:0)
我有同样的问题解决了它如下 为作曲家添加了依赖项 &#34;要求&#34;:{ &#34;沙发/口才&#34;:&#34; ~5.3&#34;,//适用于Laravel 5.3。*
// OR
"sofa/eloquence": "~5.2", // for Laravel 5.2.*
// OR
"sofa/eloquence": "~5.1", // for Laravel 5.1.*
// OR
"sofa/eloquence": "~0.4", // for Laravel 5.0.*
...
},
然后在config / app中添加了该类 &#39;商&#39; =&GT; [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
.....
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
Laravel\Tinker\TinkerServiceProvider::class,
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
Sofa\Eloquence\ServiceProvider::class,
],
终于完成了作曲家更新
答案 3 :(得分:0)
很抱歉碰到一个老话题,但是对于在这里发现自己的任何人,我有不同的解决方案:您不能有一个名为“搜索”的范围。
我只是有一个完全相同的例外,无法弄清楚为什么,尽管我发现尝试通过call_user_func_array动态调用作用域对我来说是个问题。由于这个问题具有完全相同的作用域名称,我认为可能是这样。我可能不知道还有很多其他“保留”名称,但是一旦我将其更改为“ searchName”,一切都很好。