Как вставить объект (объект типа модели) в объект коллекции в Laravel с определенным номером индекса?
я читал Дейла риса Светлый Код чтобы узнать больше о Eloquent Collection
s используемый в фреймворк 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
.