将变量从后端传递到前端laravel

时间:2017-01-19 00:07:06

标签: php laravel laravel-5

我有5个控制器和5个模型,它们都与后端相关。我可以轻松地在后端输出数据,但我也需要为前端输出数据。当然不是全部,而是其中一些。

例如我有一个名为BooksController的控制器:

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

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

}

所以这将在后端显示它没有任何问题,但我想要的是例如循环遍历所有书籍并在welcome.blade.php中显示他们的图像,它们没有控制器。

还要将其他参数传递给来自不同控制器的同一视图。

这可能吗?

谢谢。

2 个答案:

答案 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)

听起来你可能会被某些术语所吸引。在这种情况下,听起来后端指的是面向管理员的界面,而前端指的是面向用户的界面。

你似乎也被锁定在控制器的想法上。除非路由是基本的,否则为它创建一个控制器。

为您的欢迎视图设置一个控制器,对于您的管理视图,基本上(有一些例外)每个资源或视图的控制器都可以。

在这种情况下,您将拥有一个用于管理书籍视图的控制器,以及一个用于欢迎视图的单独控制器。这两者都会将书籍从数据库中拉出来并以自己的方式呈现它们

相关问题