Объединение нескольких объектов, использующих один и тот же идентификаторPhp

Кемеровские программисты php общаются здесь
Anonymous
Объединение нескольких объектов, использующих один и тот же идентификатор

Сообщение Anonymous »

Я пытаюсь объединить несколько объектов (например, квитанции, отчеты и т. д.) с помощью 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

Вернуться в «Php»