2017-01-30 7 views
1

私はLaracastからのチュートリアルに従ってデータをパーシャルに渡しました[注:Laravel 5.3の使用]私はビデオのようにすべてのステップを実行しましたが、 (_nav)。私はビデオのすべてのコメントを通過しましたが、それらのいくつかは同じ問題を抱えていましたが、解決策はありませんでした。オーダーメイドconfig/app.phpカスタムメイドのサービスプロバイダーで定義されていない変数

App\Providers\ViewComposerServiceProvider::class, 

に カスタムメイドのサービスプロバイダーを追加しました:私はLaravel 5.3使用していますので、wrong.Isこれを行って、チュートリアルはLaravelに行われたのか分からない5以下

は私のコードですサービスプロバイダ `ViewComposerServiceProvider.php

<?php 
namespace App\Providers 
use Illuminate\Support\ServiceProvider; 
class ViewComposerServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     $this->composeNavigation(); 
    } 
    public function register() 
    { 
    // 
    } 

    private function composeNavigation(){ 
     view()->composer('partials._nav','App\Http\Composers\NavigationComposer'); 
    } 
} 

NavigationComposer.php

<?php 
namespace App\Http\Composers; 
use Illuminate\Contracts\View\View; 
use App\Tour; 
class NavigationComposer{ 

public function compose(View $view) 
    { 
     $view->with('latest',Tour::latest()->first()); 
    } 
} 

パーシャルコード(partials._nav

<li><a href="#">{{$latest->title}}</a></li> 
+0

ようですclear-compiled'コマンドを使用します。 –

+0

あなたの指示通りに試してもまだ運がない –

答えて

1

チュートリアルビデオがLarave 5の上に作られた、あなたは5.3でそれをやっていることをあなたは知っていたとおり。そして、ビデオで言及された、または練習された方法は、ラーヴェル5.3で[完全ではありません]機能しません。カスタムサービスプロバイダとクラスを作成してクエリ要求をハンドリングすることは正しいです。あなたのViewComposerServiceProvider.phpcomposeNavigation() mentodを削除し、boot()方法

 View::composer(
     'partials/_nav', 'App\Http\Composers\NavigationComposer' 
    ); 

そして、他のコードに次のように追加して

は `作曲dumpauto`と` PHPの職人を実行しようとするすべてのfine.Hereが公式documentation

+0

本当にありがとう。 –

関連する問題