【发布时间】:2014-12-27 10:19:39
【问题描述】:
这些问题中的另一个......
试图深入了解如何正确执行此操作。
所以目前我有这样的路线:
Route::get('/', function()
{
return View::make('pages/home');
});
在那个页面我有:
$builds = DB::table('blogs')->where('frontpage', '1')->orderBy('id', 'desc')->paginate(20);
foreach ($builds as $build) {
// do stuff
}
这可行,但我知道不应该在视图本身中进行查询。它们应该在哪里?如何才能最好地将数据放入视图中?
到目前为止,我可以让它工作的唯一其他方法是将查询放入路由本身并压缩变量:
Route::get('/', function()
{
$builds = DB::table('blogs')->where('frontpage', '1')->orderBy('id', 'desc')->paginate(20);
return View::make('pages/home', compact('builds'));
});
但我相信这也不正确?
我也尝试在我的模型中加入一个函数:
public static function findBuilds(){
DB::table('blogs')->where('frontpage', '1')->orderBy('id', 'desc')->paginate(20);
}
然后在路由中:
Route::get('/', function()
{
$builds = Blog::findBuilds();
return View::make('pages/home', compact('builds'));
});
但是当我尝试使用我的 ->links 函数在视图中进行分页时,这给了我一个非对象错误。
我该怎么办?一旦我知道一旦生病就好了:)
谢谢!
【问题讨论】:
-
你为什么要在路由中做这么多逻辑?对于您的类未找到问题,这取决于您的自动加载器
标签: php laravel laravel-routing