2017-08-17 42 views
0

我有错误是这样的:LAravel作曲家查看相关性不看

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

我想从CartController送我的数据ViewComposer(这里$产品),但我的依赖并不这么看。

我的代码是: 的View Composer:

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'); 
} 
} 

这里是作曲服务提供商:

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() 
{ 

} 

}

这里是购物车Conrtoller从那里我温妮派&产品从索引控制器:

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

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

试试这个链接https://scotch.io/amp/tutorials/sharing-data-between-views-using-laravel-view-composers – Dhaval

+0

我wriote这个,但仍然不解决我的问题:( – wenus

回答

0

它没有找到变量$products因为你需要将它传递到撰写方法在您看来作曲:

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

希望这有助于你。