2017-06-09 2 views
0

ich eine master.blade.php Datei wie folgt erstellt haben:Laravel 5.4 Master-Blade: anzeigen Daten aus der Datenbank in der Fußzeile

<!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> 

Das ist mein footer_file.blade.php Datei

 <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> 

Wie Sie sehen können, habe ich eine Reihe von Städten in einer Funktion in meinen footer_file-Dateien. Ich habe es vorläufig fest programmiert, aber ich möchte die Liste aller Städte aus der Datenbank holen und sie hier zeigen. Diese Fußzeile ist auf jeder Seite enthalten. Ich finde es schwierig, es in Laravel zu machen. Es war einfach in Codeigniter. Kann ich aus meiner Sicht direkt auf die Datenbank zugreifen? Bitte helfen Sie.

+0

Check diese es könnte Ihnen helfen https://laravel.com/docs/5.4/views#view- Komponisten –

Antwort

0

Gelegentlich müssen Sie möglicherweise ein Stück Daten mit allen Ansichten teilen, die von Ihrer Anwendung gerendert werden. Sie können dies mit der Share-Methode der View-Fassade tun. In der Regel sollten Sie Aufrufe zur Freigabe innerhalb der Startmethode eines Dienstanbieters platzieren. Es steht Ihnen frei, sie dem AppServiceProvider hinzuzufügen oder einen separaten Dienstanbieter zu generieren, der sie aufnimmt.

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

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

Alternative zu dieser Lösung wird unter Verwendung von view composer:

View::composer('layouts.footer_files', function ($view) { 
    .... 
}); 
Verwandte Themen