执行laravel View::make将控制器变量传递给View


Do laravel View::make passes controller variables to view?

假设我有一个简单的页面,通过控制器加载文章到刀片模板-> articles.blade.php。在这个模板中,我想添加额外的部分,从类别控制器加载所有类别。我试过用<?php echo View::make('category'); ?>命令添加这个页面。但我猜它直接加载VIEW文件,没有接触控制器,所以控制器的变量没有传递给视图。我得到的错误是:

Method Illuminate'View'View::__toString() must not throw an exception

我想知道我对这件事是否正确?如果没有,我应该如何添加视图到模板,所以它会加载类别信息。

实际上,您应该从相同的(可能是ArticleController)控制器传递categories,使用这样的东西:

// Probably ArticleController for articles
$articles = Article::all();
$categories = Category::all();
return View::make('articles')
           ->with('articles', $articles)
           ->with('categories', $categories);

如果你正在从ArticleController传递文章,那么也加载并传递来自该控制器的类别。