2017-06-09 9 views
0

フッター内のデータベースからのショーデータ:Laravel 5.4マスターブレード:私は次のようにmaster.blade.phpファイルを作成している

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    @include('layouts.head_files') 
    </head> 

    <body> 

     <!-- START MAIN WRAPPER --> 
     <div id="wrapper"> 

     <!-- SEARCH FORM START --> 
      @yield('info_panel') 
     <!-- SEARCH FORM END --> 


     <!-- Start Page Content --> 
     <div class="recent-job"> 
      <div class="container"> 
      <div class="row"> 
       <div class="col-md-12">      
       @yield('main_content')           
       <div class="spacer-2"></div> 
       </div>  
       <div class="clearfix"></div> 
      </div> 
      </div> 
     </div> 
     <!-- End Page Content --> 

    </div> 
     <!-- END MAIN WRAPPER --> 

    @include('layouts.footer_files') 
    </body> 
</html> 

は、これは私のfooter_file.blade.phpファイルです

 <script type="text/javascript"> 
    $(document).ready(function(){ 
    $('input.location').typeahead({ 
     name: 'location', 
     local: ['London','Birmingham','Manchester', 'Liverpool'] 
    }); 
    }); 
    </script> 

<script src="<?=asset('assets');?>/bootstrap/js/bootstrap.min.js"></script> 
<script src="<?=asset('assets');?>/js/jquery.easytabs.min.js" type="text/javascript"></script> 
<script src="<?=asset('assets');?>/js/modernizr.custom.49511.js"></script> 
<script type="text/javascript" src="<?=asset('assets');?>/jquery.min.js"></script> 
<script type="text/javascript" src="<?=asset('assets');?>/js/typeheads.min.js"></script> 

ご覧のとおり、私はfooter_fileファイルの関数にいくつかの都市の配列を持っています。私は今のところそれをコード化しましたが、データベースからすべての都市のリストを取り出してここに示したいと思います。このフッターはすべてのページに含まれています。私はLaravelでそれをするのは難しいと思っています。 Codeigniterでは簡単でした。自分のビューから直接データベースにアクセスできますか?助けてください。

+0

チェックこれは、それはあなたを助けるかもしれませんhttps://laravel.com/docs/5.4/views#view-作曲家 –

答えて

0

場合によっては、アプリケーションによってレンダリングされたすべてのビューでデータを共有する必要があります。ビューファサードの共有方法を使用しても構いません。通常、サービスプロバイダのbootメソッド内で共有する呼び出しを行う必要があります。 AppServiceProviderにそれらを追加するか、またはそれらを格納するために別個のサービスプロバイダを生成することは自由です。

public function boot() 
{ 
    $data = App\Model::get(); 
    View::share('data', $data); 
} 

https://laravel.com/docs/5.4/views#sharing-data-with-all-views

このソリューションへの代替がview composerを使用している:

View::composer('layouts.footer_files', function ($view) { 
    .... 
}); 
関連する問題