我需要在 Laravel Nova 的相关查询中应用订单。
我已经尝试了此页面上的所有内容https://github.com/laravel/nova-issues/issues/156并且无法获得任何详细的方法来处理我的应用程序。
我有 3 个模型对这个问题很重要;事件、品牌和车辆。
多个品牌的活动 | 品牌属于许多活动
品牌有很多车辆 | 车辆属于一个品牌
事件属于许多车辆 | 车辆属于许多活动
当用户创建事件时,他们会继续选择与该事件关联的品牌。
这可以通过将下面的行放在我的 Nova 事件资源中的字段函数中来促进。
BelongsToMany::make('Brand')->sortable(),
一旦用户附加了关联的品牌,他们就会继续附加关联的车辆。
使用我在 Nova 事件资源中的相关查询填充车辆列表;
public static function relatableVehicles(NovaRequest $request, $query)
{
$event = $request->findResourceOrFail();
$brand_ids = [];
foreach($event->brand as $brand) {
$brand_ids[] = $brand['id'];
}
return $query->whereIn('brand_id', $brand_ids);
}
现在,当我去附加车辆时,它仅由与附加到事件的品牌相关的车辆填充。
问题是提供的选择框中的选项是按标题排序的。
我的车辆资源中有以下内容,我认为这是问题的根源;
public static $title = 'model';
但显然我需要在资源中使用它,以便选择框正确显示。
有谁知道我怎么可以用标题以外的东西来订购?我正在尝试按brand_id 订购。