Check in documentation how to share data with all views
https://laravel.com/docs/5.7/views#sharing-data-with-all-views
Hey everyone, I've recently started using Laravel for a university project. It is AMAZING.
I have one issue I haven't been able to solve myself, though. Basically I have a main nav menu stored in the file main.blade.php.
This file is extended by all the other views, including "index.blade.php" and "about.index.php".
Now, when returing index through my FrontEndController, I just prepare an array of variables and return it with the view in order to dinamically generate my menus and categories. Basically my function looks like this:
'''
public function index() {
$menu = MainMenu::OrderBy('Order', 'asc')->get();
$cat = Category::OrderBy('sortOrder', 'asc')->get();
$data = array(
'main_menus' => $menu,
'categories' => $cat,
);
return view('front_end.index')->with($data);
}
'''
Note that all these variables are used by the menu, not the content. Now I've started working on "about.index.php" and I noticed that I have to send the same $data array all over again in order to prepare the menu once more. So I basically need to send the same array over and over again for all the views.
This seems redundant and repetitive, and I feel like I am missing something. Is there a better way to do this?
Please or to participate in this conversation.