【发布时间】:2014-04-03 10:36:18
【问题描述】:
例如,我的 HomeController 中有这段代码:
public function index() {
$comments = Comment::get_recent();
$top = User::get_top_uploaders()->get();
$top_something = User::get_top_something_uploaders()->get();
$data = Post::orderBy('created_at', 'DESC')->paginate(6);
return View::make('index') ->with('data', $data)
->with('comments', $comments)
->with('top', $top)
->with('top_something', $top_something);
}
效果很好,但我需要用相同的数据制作另外几个视图,不仅用于索引,还用于其他页面,如comments()、post()...
如何在 HomeController 中进行此操作,而无需将这些变量复制并粘贴到每个控制器中?
【问题讨论】:
-
也许可以查看view composers。它们对于将数据传递给一个视图(或多个视图)很有用,只要生成数据的方式不依赖于控制器或任何东西。
标签: laravel view controller