是否可以在仍然通过关系访问的同时使用单独的 ID 数组订购关系集合?
设置Checklist
有许多ChecklistItem
s 并且相关项目的所需顺序作为属性存在Checklist::$item_order
。它只是按用户所需顺序排列的数字 ID 数组。:
class Checklist extends Model {
protected $casts = ['item_order' => 'array'];
public function items() {
return $this->hasMany(ChecklistItem::class);
}
}
class ChecklistItem extends Model {
public function list() {
return $this->belongsTo(Checklist::class);
}
}
我以正常方式访问这种关系:
$list = Checklist::find(1234);
foreach ($list->items as $item) {
// More Code Here
}
是否有可行的方法根据数组$list->items
中的值进行排序?$list->item_order
(我不能只在“项目”表中添加一个“订单”列,因为每个“列表”的订单都会发生变化。)