2016-11-13 18 views
0

我試圖在我的Laravel項目上安裝口才。'調用成員函數make()null'當安裝口才

Eloquence Installation

我下面的安裝,我已經做了以下內容:

  1. 要求包在你的composer.json
  2. 口才特徵添加到模型
  3. 添加沙發\口才\的ServiceProvider到config/app.php提供商陣列

問題Post::search('jarek sofa')->get();結果

FatalThrowableError in Builder.php line 77: 
Call to a member function make() on null 

Here is my code

可能的原因:

  1. 口才服務提供商正確註冊
  2. 也許是與作曲家

在此先感謝

+0

按照在Github此問題,https://github.com/jarektkaczyk/口才/問題/ 56,這聽起來像你的服務提供商沒有正確註冊。確保它是,你可以嘗試運行'php artisan cache:clear'和'composer dump-autoload' – James

+0

是的,我也看到了這個問題。我覺得這是因爲我沒有正確註冊服務提供商,但從我所瞭解的情況來看,註冊服務提供商只需將'Sofa \ Eloquence \ ServiceProvider :: class'添加到'config/app中的'providers'數組中。 php',我已經完成了 –

回答

1

終於搞定了!

解決方案:在AppServiceProvider引導方法添加\Sofa\Eloquence\Builder::setParserFactory(new \Sofa\Eloquence\Searchable\ParserFactory);

這樣的:

<?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() 
    { 
     // 
    } 
} 
+0

它適合我!現在,當我在模型上設置$ searchableColumns = ['my_custom_field']時出現錯誤。 –

0

您是否嘗試在控制檯中運行composer update命令?

+0

我剛剛在控制檯中運行了'php artisan cache:clear','composer dump-autoload'和'composer update'。根本沒有變化 –

0

我有同樣的問題,解決它如下 添加依賴作曲家 「規定」:{ 「sofa/oloquence」:「〜5.3」,// for 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.* 
    ... 
}, 

然後加入在配置類/應用 '提供商'=> [

/* 
    * 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, 
], 

終於做作曲家更新