Как отобразить недавно созданные страницы на странице с помощью Laravel? - PullRequest
0 голосов
/ 28 мая 2018

Много статей, показывающих, как отображать на домашней странице, а как насчет другой страницы, например, страницы?

Вот что у меня в файле контроллера:

public function page($slug)
{
    $page = MenuPage::where('slug',$slug)->firstOrFail();
    return view('pages.page', compact('page'));

}

ЭтоКод управляет списком страниц в разделе страниц в серверной части:

public function index()
{
    $pages = MenuPage::all();
    return view('admin-SchoolDir.menu-pages.index', compact('pages'));
}

page.blade.php содержит код макета моей страницы.

Любопытно узнать, какой код вставлять в контроллерфайл и что поместить в файл представления?

Я видел этот код в одной статье для файла контроллера для отображения последних сообщений:

 $recentPosts = Post::take(5)->latest()->get();

но где бы я поместил этот код в?

В бэкэнде, где я управляю списком страниц, этот код используется для отображения списка страниц:

                        @foreach($pages as $page)

                          <tr>

                            <td>{{ $page->id }}</td>
                            <td>{{ $page->menu_name }}</td>
                            <td>{{ $page->title }}</td>
                          </tr>
                       @endforeach

Если я добавлю этот код в макет своей страницы, я получуошибка «Неопределенная переменная: страницы».

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

Внутри контроллера, когда вы извлекаете данные из базы данных.

public function index()
{
    $pages = MenuPage::latest()->get();
    return view('admin-SchoolDir.menu-pages.index', compact('pages'));
}

Следует избегать бизнес-логики в представлениях.

0 голосов
/ 28 мая 2018
public function page($slug)
{
    $page  =  MenuPage::where('slug',$slug)->firstOrFail();
    $pages =  MenuPage::take(5)->latest()->get();
    return view('pages.page', compact('page','pages'));
}
0 голосов
/ 28 мая 2018

Вы делаете компактные «страницы», а не «страницы»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...