Я пытаюсь объединить несколько объектов (например, квитанции, отчеты и т. д.) с помощью Collection->merge().
Это код, который я использовал:
$receipts = Receipt::all();
$reports = Report::all();
$collection = $receipts->merge($reports);
Вот результат:
[img]https: //i.stack.imgur.com/bbRgk.png[/img]
На снимке экрана выше показаны два элемента, но третий элемент отсутствует, поскольку у него тот же идентификатор. (id: «1») как первый. Чего я пытаюсь добиться, так это отобразить все три из них как коллекцию.
РЕДАКТИРОВАТЬ:
Мне нужно, чтобы результатом были объекты (коллекция), потому что Я также использую код своего представления, где проверяю класс, чтобы определить, что отображать. Кроме того, я использую эту функцию для сортировки объектов в коллекции.
$collection->sort(function($a, $b)
{
$a = $a->created_at;
$b = $b->created_at;
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
Подробнее здесь: https://stackoverflow.com/questions/260 ... es-same-id