Передача переменной из бэкэнда во внешний интерфейс

У меня есть 5 контроллеров и 5 моделей, и все они связаны с бэкэндом. Я могу легко выводить данные в бэкэнд, но мне это нужно и для внешнего интерфейса. Не все конечно, но некоторые из них.

Например, у меня есть контроллер под названием BooksController:

  public function getBooks(Request $request)
{
$books = Books::all();

return view('backend.books.show', compact('images'));

}

Так что это покажет это в бэкэнде без каких-либо проблем, но мне нужно, например, просмотреть все книги и показать их изображения в welcome.blade.php, который не имеет контроллера.

А также для передачи других параметров в это же представление с разных контроллеров.

Это возможно?

Спасибо.

0

Решение

У вас ошибка, потому что вы не объявили переменную $image

public function getBooks(Request $request)
{
$books = Books::all();

$images = array_map(function($book) {
$book->image;
}, $books);

return view('backend.books.show', compact('images'));
}
0

Другие решения

Похоже, вы потенциально догоняете некоторую терминологию. В этом случае кажется, что backend относится к интерфейсу, обращенному к администратору, а frontend относится к интерфейсу, ориентированному на пользователя.

Вы также, кажется, ограничены идеей контроллеров. Если маршрут не является базовым, создайте для него контроллер.

Есть контроллер для вашего приветствия, для вашего администратора, в основном (за некоторыми исключениями) контроллер для ресурса или представления в порядке.

В этом случае у вас будет один контроллер для просмотра книги администратора и отдельный контроллер для просмотра приветствия. Оба из которых вытащили бы книги из БД и сделали бы их по-своему

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector