Laravel - Клинок не загружается в браузере - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть новый проект Laravel, который, похоже, неправильно загружает Blade.

Я просмотрел документацию на Laravel.com, посмотрел видео на Laracasts и отсканировал максимально возможный объем Stackoverflow, но я так и не смог выяснить это. Вы можете помочь?!

Хорошо, вот что у меня есть:

Web.php

Route::get('/', [
    'uses' => 'RentsController@index',
    'as' => 'layouts.index'
    ]);

RentsController.php

public function index()
{
    $rents = DB::table('rents')
        ->orderByDesc('price')
        ->get();
    return view('layouts.index', ['rents' => $rents]);
}

index.blade.php

<div class="container">
    <p>test</p>
    @yield('content')
</div>

search.blade.php

@extends ('layouts.index')

@section ('content')
    <p>title</p>
    <h1>test</h1>
    <ul>
        @foreach ($rents as $rent)
        <li>{{ $rent->price }}</li>
        @endforeach
    </ul>
@endsection

Структура файла:

просмотров -> макеты -> index.blade.php views -> search.blade.php

Итак, всякий раз, когда я вставляю код в @section ('content') непосредственно в файл index.blade.php, он работает отлично. Однако, как я понял прямо сейчас, в браузере ничего не появляется из search.blade.php и ошибки тоже нет.

Есть идеи, что это может быть?

Спасибо, ребята! Я очень ценю любую помощь, советы, вопросы, комментарии, которые вы могли бы предоставить. :)

1 Ответ

0 голосов
/ 02 сентября 2018

На самом деле, я не знаю, почему вы указали свой макет в маршрутах и ​​контроллере. Для этого достаточно вернуть шаблон вашей страницы в контроллер:

Web.php

Route::get('/','RentsController@index');

RentsController.php

public function index()
{
    $rents = DB::table('rents')
        ->orderByDesc('price')
         ->get();
    return view('search', compact('rents'));
}

При использовании макетов достаточно использовать @extends ('layouts.index'), и шаблон будет идентифицировать его.

...