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 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀