dongmaomou4117 2016-08-01 19:03
浏览 58
已采纳

混合两个foreach。 通知。 Laravel

I have this code here:

    $likes = Like::orderBy('created_at', 'desc')->paginate(10);
    $comments = Comment::orderBy('created_at', 'desc')->paginate(10);

HTML:

@foreach($likes as $like)

@endforeach

How to implement comments foreach in the likes foreach so the output not appears like this: At first appears likes and then appears comments. I want to mix it so it could appear something like this:

Like Comment Like Comment Comment Like

It's like notifications going

How is this possible ?

  • 写回答

2条回答 默认 最新

  • donglu3243 2016-08-01 19:16
    关注

    The easiest thing to do would be merge the collections, then order them by created_at, then foreach on the new colleciton:

    PHP:

    $likes = Like::orderBy('created_at', 'desc')->paginate(10);
    $comments = Comment::orderBy('created_at', 'desc')->paginate(10);
    
    $notifications = $likes->merge($comments)->sortByDesc('created_at');
    

    HTML:

    @foreach($notifications as $notification)
    
    @endforeach
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?