Sorting Laravel Collection via Array of ID’s
You can do this: $order = $list->item_order; $list->items->sortBy(function($model) use ($order){ return array_search($model->getKey(), $order); } Also you could add an attribute accessor to your model which does the same public function getSortedItemsAttribute() { if ( ! is_null($this->item_order)) { $order = $this->item_order; $list = $this->items->sortBy(function($model) use ($order){ return array_search($model->getKey(), $order); }); return $list; } return $this->items; } … Read more