首页 > 解决方案 > Laravel Nova,仅在创建资源页面的菜单中显示活动记录

问题描述

在 Laravel (Nova) 我有两个资源 Motor 和 Brand。

现在,在创建新电机时,我从菜单 (BelongsTo) 中选择了一个品牌。这很好用。

Nova > Motor

BelongsTo::make('Select a Brand', 'brand', 'App\Nova\Brand'),

我怎样才能做到,所以菜单中只列出了活跃的品牌?

我试图将其添加到我的品牌模型中:

class Brand extends Model
{
    public static function relatableMotors(NovaRequest $request, $query)
    {
        return $query->where('active', 1);
    }
}

没有错误,但在创建新电机时仍会在我的相关菜单中显示活动和非活动品牌。

任何想法如何做到这一点?

标签: laravellaravel-nova

解决方案


找到了我认为的解决方案。

将此添加到 Nova > Resource.php:

public static function relatableBrands(NovaRequest $request, $query)
    {
        return $query->where('active', 1);
    }

推荐阅读