通过ID数组对Laravel集合进行排序
2022-08-30 20:40:44
是否可以使用单独的 ID 数组对关系集合进行排序,同时仍然通过关系进行访问?
该设置具有许多 s,并且相关项的所需顺序作为属性存在。它只是用户所需顺序中的数字 ID 数组。:Checklist
ChecklistItem
Checklist::$item_order
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
(我不能只是将“订单”列添加到“项目”表中,b / c每个“列表”的顺序都会发生变化。