I’m trying to merge several collections but I’m not able to do this for any reason. My code looks like that:

$restaurant = AppRestaurant::find(3);
$images     = $restaurant->images;
$userimages = $restaurant->userimages;
$hours      = $restaurant->hours;

$collectionMerge1 = $images->merge($userimages)->merge($hours);
$collectionMerge2 = $restaurant->userimages->merge($hours)->merge($images);
$collectionMerge3 = collect(array_merge($images->all(), $userimages->all(), $hours->all()));

The only merge that works is the last one. The previous ones are not showing all items that the collections contains. Why is this? What am I doing wrong?
If you take a look to the picture you will see that there are missing objects in merges 1 and 2. I’ve tried several ways to do that, but only works the last one. Maybe the merge method is having issues with keys?

enter image description here