Laravel 《新拉威尔》中贝朗斯托的翻译
我用于Nova中的翻译字段Laravel 《新拉威尔》中贝朗斯托的翻译,laravel,laravel-nova,Laravel,Laravel Nova,我用于Nova中的翻译字段 Text::make(__('Name User'), 'name') 但是我不明白手册是如何让BelongsTo字段的标题可以翻译的 标题属性 当资源创建/更新屏幕上显示BelongsTo字段时,下拉选择菜单或搜索菜单将显示资源的“标题”。例如,用户资源可以使用name属性作为其标题。然后,当资源显示在BelongsTo选择菜单中时,将显示该属性: 嗯。。。在我的代码中,这失败了,因为翻译是以模型的名义生成的,而不是以关系的标签生成的 BelongsTo::mak
Text::make(__('Name User'), 'name')
但是我不明白手册是如何让BelongsTo字段的标题可以翻译的
标题属性
当资源创建/更新屏幕上显示BelongsTo字段时,下拉选择菜单或搜索菜单将显示资源的“标题”。例如,用户资源可以使用name属性作为其标题。然后,当资源显示在BelongsTo选择菜单中时,将显示该属性:
嗯。。。在我的代码中,这失败了,因为翻译是以模型的名义生成的,而不是以关系的标签生成的
BelongsTo::make(__('User'), 'users')->withMeta([
'belongsToId' => $this->user_id ?? auth()->user()->id
])->hideFromDetail()
Nova\User上的代码
显示用户资源时没有问题。标签翻译完成了
但是,如果转到资源邮箱,下面的字段将不显示翻译,这是因为如果不在
make
方法上指定第三个参数(resource),Nova会认为调用资源的方式与调用标签的方式相同(例如:Label:User
然后resourceName:User
)并将尝试搜索该资源类
显然,您可以通过将资源类作为第三个参数传递来覆盖它:
//如果资源的类为
//与此文件不在同一目录中
BelongsTo::make(uuu('User'),'users',User::class)->withMeta([
'belongsToId'=>this->user\u id??auth()->user()->id
])->hideFromDetail(),
非常感谢。我看过医生后已经纠正了我的问题。我看到有必要传递三个参数:标签、表格和模型。谢谢@mdexpNo problems,以后您还可以检查真正有文档记录且“有说服力”的源代码。有时,偷看源代码比查找文档要快。不管怎么说,如果你觉得这样的话,把我的答案标记为正确,或者把你自己的答案贴出来标记为正确,因为这可能会在将来帮助其他有同样问题的人
local.ERROR: Class 'App\Nova\Usuario' not found {"userId":1,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Nova\\Usuario' not found at /home/abkrim/Sites/albaridnova/vendor/laravel/nova/src/Fields/BelongsTo.php:118)
public static $model = 'App\\User';
public static $title = 'email';
public static $search = ['id', 'name', 'email'];
public static function availableForNavigation(Request $request)
{
return $request->user()->isAdmin();
}
public static function label()
{
return __('Users');
}
public static function singularLabel()
{
return __('User');
}