Зачем показывать неопределенную переменную, когда передают интерфейс

Когда я передаю переменную во фронтальном сайте, это показывает, что переменная undefined: почему это происходит? Я также пытался использовать компакт, но он не работает для меня. Есть ли способ решить проблему?

HomeController код файла:

public function index()
    {
        $category =DB::table('categories')->where('status', 1)->get();
        $brand =DB::table('brands')->where('status', 1)->get();
        $home=view('home.main_content');
        return view('home')->with('home', $home)->with('category', $category);
    }

Передний код с использованием foreach цикл:

@foreach($category as $result)
    <div class="panel panel-default">
    <div class="panel-heading">
    <h4 class="panel-title"><a href="#">{{$result->name}}</a></h4>
    </div>
    </div>
@endforeach

Ошибка:

Undefined variable: category (View: C:\xampp\htdocs\laravelblog\resources\views\home\sidebar_left.blade.php)

1 ответ

Ваше мнение называется home и представление, в котором вы пытаетесь использовать переменную, называется sidebar_left,

Так что, если вы используете лезвие @include директива для загрузки этого представления вам нужно будет передать переменную этому представлению. Вы можете сделать это так:

@include('sidebar_left', ['category' => $category])

Тогда вы сможете его использовать.

Другие вопросы по тегам