我有5个控制器和5个模型,它们都与后端相关。我可以轻松地在后端输出数据,但我也需要为前端输出数据。当然不是全部,而是其中一些。
例如我有一个名为BooksController的控制器:
public function getBooks(Request $request)
{
$books = Books::all();
return view('backend.books.show', compact('images'));
}
所以这将在后端显示它没有任何问题,但我想要的是例如循环遍历所有书籍并在welcome.blade.php中显示他们的图像,它们没有控制器。
还要将其他参数传递给来自不同控制器的同一视图。
这可能吗?
谢谢。
答案 0 :(得分: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'));
}
答案 1 :(得分:0)
听起来你可能会被某些术语所吸引。在这种情况下,听起来后端指的是面向管理员的界面,而前端指的是面向用户的界面。
你似乎也被锁定在控制器的想法上。除非路由是基本的,否则为它创建一个控制器。
为您的欢迎视图设置一个控制器,对于您的管理视图,基本上(有一些例外)每个资源或视图的控制器都可以。
在这种情况下,您将拥有一个用于管理书籍视图的控制器,以及一个用于欢迎视图的单独控制器。这两者都会将书籍从数据库中拉出来并以自己的方式呈现它们