0
私はいくつかのコレクションをマージしようとしていますが、何らかの理由でこれを行うことはできません。私のコードは次のようになっています:Laravelはコレクションをマージできませんか?
$restaurant = \App\Restaurant::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()));
最後のものはマージです。以前のコレクションは、コレクションに含まれるすべてのアイテムを表示していません。どうしてこれなの?私は間違って何をしていますか? 画像を見ると、マージ1と2に欠けているオブジェクトがあることがわかります。これを行うにはいくつかの方法を試しましたが、最後のものだけが機能します。多分、マージメソッドがキーに問題がありますか?
を私は試みたが、あなたはプッシュを使用するとき、あなたは単一のものでコレクションをマージしません、代わりに、何をやっていることを追加することです:鍵ペアが既に一致したときに
merge
が実際に特定の要素が上書きされるためですコレクションを追加し、それらをマージしないでください。 – suarsenegger