Как вставить объект (объект типа модели) в объект коллекции в Laravel с определенным номером индекса?

я читал Дейла риса Светлый Код чтобы узнать больше о Eloquent Collections используемый в фреймворк Laravel. Некоторые другие исследования, а также, но не могу найти ответ я ищу.

я хочу вставить объект (Model введите объект) в

1 ответов


чтобы вставить элемент в коллекцию, обратитесь к этому ответу;ответ

в основном, разбивает коллекцию, добавляет элемент по соответствующему индексу.


вы можете добавить товар Eloquent\Collection объект add способ;

$collection->add($item);  // Laravel 4

или

$collection->push($item); // Laravel 5 

затем вы можете изменить порядок коллекции с помощью sortBy способ;

$collection = $collection->sortBy(function($model){ return $model->present_day; });

это позволит упорядочить коллекцию ваших present_day атрибут.


обратите внимание, что приведенный выше код будет работать только если вы используете Illuminate\Database\Eloquent\Collection. Если вы используете простой Eloquent\Support\Collection нет add метод.

вместо этого вы можете использовать смещение пустого массива, такое же, как вставка нового элемента в обычный массив:

$collection[] = $item;

эта форма также работает на красноречивой версии Collection.