如何在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
相关产品推荐
相关产品推荐

