dongmin3754 2014-10-21 00:53
浏览 166
已采纳

Laravel View :: Make仅使用foreach循环的第一次迭代

Using laravel 4 to make a blog concept. When trying to load an array of views with dynamic content, the framework seems to be returning the first per-rendered view rather than regenerate it with the new contents.

I build an array of calls to View::make with partials (Article/partials/article) and compacted arrays of data(articles from model)

This is then simply looped over and echoed in another view, 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'));
    }

All of my articles are there, as this is what prints from the var_dump in the controller's loop

int 6

int 5

int 4

int 3

int 1

5 five 5 five 5 five 5 five 5 five

  • 写回答

1条回答 默认 最新

  • dongzhucha3999 2014-10-21 01:40
    关注

    It's much better to simply pass $article_result to your view Home/blog, and loop over them from within the view. You can call the partial view there, and it will have access to each $article during the loop.

    So, in your controller, just call the Home/blog view:

    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
                    ));
    }
    

    ...and in the view, loop over the articles.

    @foreach($articles as $article)
        @include('Article/partials/article')
    @endforeach
    

    Within Article/partials/article, just reference $article and you're all set.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳
  • ¥15 海康hlss视频流怎么播放
  • ¥15 Paddleocr:out of memory error on GPU
  • ¥30 51单片机C语言数码管驱动单片机为AT89C52