#### PHP Laravel alternate push based on condition

I have fields in the table
most_viewed and
top_rated

    $most_viewed_posts = Blog::where('most_viewed', 1)->orderBy('created_at', 'desc')->get();$top_rated_posts = Blog::where('top_rated', 1)->orderBy('created_at', 'desc')->get();
$featured_collection = collect(); foreach ($most_viewed_posts as $most_viewed_post)$featured_collection->push($most_viewed_post); foreach ($top_rated_posts as $top_rated_post)$featured_collection->push($top_rated_post);$featured_posts = \$featured_collection->sortBy('id', SORT_NUMERIC)->reverse()->chunk(2);


What i’m trying to accomplish here is im chunking the results into 2. Because Im displaying it like on the picture below. It’s a carousel. The first result in a chunk should be most_viewed and the second is top_rated.

Now the issue is sometimes, most_viewed post is in Top Rated column. Is it possible that the items in the chunk is always most_view and top_rated?

Source: Laravel