You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel Nova的Action字段函数中获取当前模型?

在Laravel Nova Action的fields方法中获取当前模型的正确方式

你尝试的$request->model()方法并不存在于NovaRequest中,以下是几种常用的正确实现方式:

获取单个模型实例(适用于单模型操作)

使用findModelOrFail()方法可直接获取当前操作的模型实例:

public function fields(NovaRequest $request)
{
    $model = $request->findModelOrFail();
    Log::info($model);

    return [
        // 你的字段定义
    ];
}

获取批量选中的模型实例(适用于批量操作)

如果是批量执行Action,使用models()方法可获取所有选中的模型实例数组:

public function fields(NovaRequest $request)
{
    $models = $request->models();
    Log::info($models);

    return [
        // 你的字段定义
    ];
}

获取模型类(而非实例)

若仅需要模型的类名,可通过Nova资源类获取:

public function fields(NovaRequest $request)
{
    $modelClass = $request->resource()::$model;
    Log::info($modelClass);

    return [
        // 你的字段定义
    ];
}

内容的提问来源于stack exchange,提问作者heppi75

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 03:15:54