在 Laravel 10 / nova 4.27 应用程序中的用户资源中,我定义了头像字段
Image::make(__('Avatar'), 'avatar')->disk('local')->path('public/avatars')->prunable()->deletable(true),
我想知道当头像字段为空或找不到文件时,我可以通过什么方式显示位于 publis/img 下的默认头像?
尝试使用
resolveUsing()
方法
Image::make(__('Avatar'), 'avatar')
->disk('local')
->path('public/avatars')
->prunable()
->deletable(true)
->resolveUsing(function ($value) {
// Check if the avatar exists
if ($value && Storage::disk('local')->exists("public/avatars/{$value}")) {
return "avatars/{$value}";
}
// Return the default image if the avatar is missing
return 'avatars/default.jpg';
}),
这也可以通过 Laravel Nova 的内置头像字段来完成:
Laravel\Nova\Fields\Avatar