Laravel Nova在相关查询上的排序依据

时间:2019-03-29 09:53:26

标签: php laravel eloquent laravel-nova laravel-5.8

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

0 个答案:

没有答案