使用laravel 4制作博客概念。当尝试使用动态内容加载视图数组时,框架似乎返回第一个每个渲染的视图,而不是使用新内容重新生成它。
我构建一个对View :: make with partials(Article / partials / article)和压缩数据数组(来自模型的文章)的调用数组
然后简单地循环并在另一个视图Home / blog
中回显public function get_articles($total) {
$article_result =
Article::orderBy('created_at', 'desc')
->limit($total)
->get();
$article_data = array(
'article' => array(),
);
foreach($article_result as $article) {
var_dump($article->id);
$article_data['article'][] = View::make('Article/partials/article', compact('article'));
}
return View::make('Home/blog', compact('article_data'));
}
我的所有文章都在那里,因为这是从控制器循环中的var_dump打印出来的
int 6
int 5
int 4
int 3
int 1
5 五 五 五 五 五 五 五 五 5
答案 0 :(得分:2)
只需将$ article_result传递到您的视图Home/blog
,然后在视图中循环播放它们就会好得多。您可以在那里调用局部视图,并且在循环期间可以访问每个$article
。
因此,在您的控制器中,只需调用Home/blog
视图:
public function get_articles($total) {
$article_result = Article::orderBy('created_at', 'desc')
->limit($total)
->get();
return View::make('Home/blog')->with(array(
'articles' => $article_result
));
}
...并在视图中循环播放文章。
@foreach($articles as $article)
@include('Article/partials/article')
@endforeach
在Article/partials/article
内,只需参考$article
即可完成所有设置。