我需要对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订购。