如何将值从控制器传递到头文件

时间:2019-02-19 08:20:42

标签: php laravel laravel-5

我需要将数据从控制器传递到partials文件夹内的头文件。

建议我如何将数据“货币”从控制器传递到头文件。

控制器:

class HeaderController extends Controller
{
   public function rate(){
     $currency = Whmcs::GetCurrencies([         
     ]);
     return view('partials.header',compact('currency'));        
   }
}

头文件:

<form name="form">
    <select name="currency" class="form-control">
        @foreach($currency['currencies']['currency'] as $key=>$value)
           @for($key=0;$key<100;$key++)
           @endfor
           <option value="{{$value['code']}}">{{$v=$value['code']}}</option>
        @endforeach
    </select>
</form>  

路线:

Route::any('/partials.header', 'HeaderController@rate');

2 个答案:

答案 0 :(得分:2)

  

您可以通过如下所示的laravel view composer方法来做到这一点:

在启动方法的App / Providers / ComposerServiceProvider.php中添加此方法

 view()->composer(['partials.header'], function ($view) {
 $currency = Whmcs::GetCurrencies([]);
     $view->with('currency', $currency);
 });

然后,您可以将$ currency变量用于头文件,而无需从任何控制器传递它。

答案 1 :(得分:1)

您可以实现:

return view('partials.header', ['currency' => $currency]);

您的数据应为具有键值对的数组。

您还可以使用with方法:

return view('partials.header')->with('currency', $currency);

此外,您可以使用compact

return view('partials.header', compact('currency'));

有关更多信息,请参阅Passing Data To Views