2

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

4

0 回答 0