2017-08-17 2 views
0

Ich habe Fehler wie folgt aus:Laravel Komponisten anzeigen Abhängigkeit nicht sehen

Unresolvable dependency resolving [Parameter #0 [ <required> $products ]] in class App\Http\ViewComposers\ShoppingCartComposer 

Ich möchte, dass meine Daten von CartController zu Viewcomposer schicken (hier $ Produkte), aber meine Abhängigkeit sieht es nicht.

mein Code: Ansicht Komponist:

namespace App\Http\ViewComposers; 

use Illuminate\View\View; 

class ShoppingCartComposer 
{ 

protected $products; 


public function __construct(Array $products) 
{ 
    // Dependencies automatically resolved by service container... 
    $this->products = $products; 
} 

public function countProducts(){ 

} 

public function compose(View $view) 
{ 
    $view->with('count', 'test'); 
} 
} 

Hier ist Komponist Dienstleister:

namespace App\Providers; 

use Illuminate\Support\Facades\View; 
use Illuminate\Support\ServiceProvider; 

class ComposerServiceProvider extends ServiceProvider 
{ 

public function boot() 
{ 

    View::composer(
     'shopping-cart', 'App\Http\ViewComposers\ShoppingCartComposer' 
    ); 

} 

public function register() 
{ 

} 

}

Und hier ist Wagen Conrtoller von wo ich wany & Produkte senden vom Index-Controller:

class CartController extends Controller 
{ 
public function index() 
{ 
    if (Session::has('shoppingCart')) { 
     $products = Session::get('shoppingCart'); 
    } else { 
     $products = []; 
    } 

    return view('shopping-cart', ['products' => $products]); 
} 
+0

versuchen Sie diesen Link https://scotch.io/amp/tutorials/sharing-data-between-views-using-laravel-view-composers – Dhaval

+0

Ich write dies aber immer noch nicht lösen mein Problem :( – wenus

Antwort

0

Es ist nicht die Variable $products finden, weil Sie es auf die compose Methode in Ihrer Ansicht Komponist geben müssen:

public function compose(View $view) 
{ 
    $view->with([ 
     "products" => $this->products, 
     "test" => "TEST" 
    ]); 
} 

Hope this Ihnen hilft.

Verwandte Themen