dongping1689 2014-10-17 19:44
浏览 81
已采纳

Laravel返回多个视图

I'm trying to return multiple views using the laravel framework. When I return the variable, it only makes it through the loop once, therefore only one comment is displayed on the page.

foreach($index_comments as $comments){
                        $commentComment = $comments->comment;

                        $index_children = NULL;
                        $getUser = DB::table('users')->where('id', '=', $comments->from_user_id)->get();
                        foreach ($getUser as $user) {
                            $firstName = $user->first_name;
                            $lastName = $user->last_name;
                        }
                        return View::make('feeds.comments')->with(array(
                                'firstName' => $firstName,
                                'lastName' => $lastName,
                                'commentComment' => $commentComment,
                                'index_children' => $index_children
                        ));

                    }

I just need a way of returning multiple views. Thanks for any help! Toby.

  • 写回答

1条回答 默认 最新

  • douchensou6969 2014-10-17 20:17
    关注

    It seems that you don't quite understand the concepts of Laravel and/or PHP yet. So let's start it from scratch: We want to fetch all comments, output the comment and the name of the user who wrote the comment.

    At a very basic level, we can just grab it straight from the DB with the query builder:

    public function showComments() 
    {
        $commentData = DB::table('comments')
            ->join('users', 'users.id', '=', 'comments.from_user_id')
            ->get(['text', 'firstName', 'lastName']);
    
        return View::make('feeds.comments')->with('commentData', $commentData)
    }
    

    And in your view:

    @foreach($commentData as $comment)
        {{ $comment->text }}
        <br />
        written by {{ $comment->firstName }} {{ $comment->lastName }}
        <hr />
    @endforeach
    

    That's it. You don't return the view on each iteration, the iteration happens in the view. The return statement terminates the function execution immediately. If you return within in a loop, it will always exit upon the first iteration, that's why you're getting only one result.

    In the next step, you should play around with Models and Eloquent for even more powerful and readable data handling.

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

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c