How to pass data to my header in my layouts in laravel?

Viewed 1570
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
    <div class="container">
        <a class="navbar-brand" href="{{ route('home.index') }}">En</a>
        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
                data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
                aria-label="Toggle navigation">
            Menu
            <i class="fas fa-bars"></i>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">

            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a class="nav-link" href="{{ route('home.index') }}">Home</a>
                </li>


                <li class="dropdown nav-item">
                    <a class="nav-link" data-toggle="dropdown">Categories<i class="icon-arrow"></i></a>
                    <ul class="dropdown-menu">
                        @foreach($categories as $category)
                            <li>
                                <a href="/?category={{ $category->name }}">
                                    {{ $category->name }}
                                </a>
                            </li>

                        @endforeach
                    </ul>
                </li>


                <li class="nav-item">
                    <a class="nav-link" href="{{ route('about') }}">About Me</a>
                </li>

                <li class="nav-item">
                    <a class="nav-link" href="post.html">Contact</a>
                </li>


            </ul>

        </div>
    </div>
</nav>

I have the above code in my header which I include in my app.blade.php as @include('user.layouts.header') then I use app.blade.php as my layout.

How do I pass data to the header so that I can stop getting the below error if that's the reason I'm getting the error!

Undefined variable: categories (View: /home/alphy/blogEngidaFinal/resources/views/user/layouts/header.blade.php)
1 Answers

See the documentation.

You can pass params while including the header view,

@include('view.name', ['some' => 'data'])

In your case,

@include('user.layouts.header', ['categories' => ['food', 'drink', 'dessert'])
Related