我一直在摸着这个,希望这是一个非常简单的答案。
我正在使用andrewelkins'(优秀的!)开始网站来了解Laravel的方法,可以在https://github.com/andrewelkins/Laravel-4-Bootstrap-Starter-Site找到。这个起始站点是一个简单的博客系统,以了解Laravel。
在其中一个控制器中(具体来说:AdminBlogsController.php),我看到以下代码:
public function getIndex()
{
// Title
$title = Lang::get('admin/blogs/title.blog_management');
//Grab all the blog posts
$posts = $this->post;
// Show the page
return View::make('admin/blogs/index', compact('posts', 'title'));
}
让我感到困扰的是,如果不调用类似$this->post
的内容来获取所有记录,如何调用all();
。
在其他每个教程中,我都会看到类似$this->post->all()
的内容,但不是这里。请注意,没有all()
的代码可以正常工作。
答案 0 :(得分:1)
该代码被破坏且评论具有误导性。该视图不会收到任何帖子。要进行验证,请在the view中搜索$post
变量。你找不到它,因为根本没有使用它。
那么如何在页面上呈现帖子?
简单回答: AJAX 。
初始页面加载时不存在帖子。相反,它们来自loaded in through AJAX this controller method,您可以清楚地看到数据库调用!