Laravel Varbox-获取某些语言的可翻译模型属性值

问题描述

我在一个项目中使用的是VarBox 2.x付费平台,我对可转换模型有疑问。

我有一个News自定义实体,我在其上应用了HasTranslations特征以支持多种语言的titlecontent
一切正常,管理程序还支持多语言。

此外,在前端,我注意到通过访问$news->title(仅是Laravel常规语法),可以返回我当前使用的语言环境的值。

我想知道,即使我的语言环境设置为fr,我是否也可以用英语获得标题

谢谢!创建此程序包很棒!

解决方法

是的,通过使用<my-element class="unexpected-attribute"></my-element>方法,可以使用任何受支持的语言来获取任何属性值,而不论您设置的语言环境如何。

alert.setHeaderText("Non hai selezionato ...");

以下是文档部分供参考:https://varbox.io/docs/2.x/translatable-models#get-translation


此外,关于您所说的访问getTranslation会返回您当前设置的语言环境的值,是的,这是真的。

这是在$news = News::find($id); $titleInEnglish = $news->getTranslation('title','en'); 特性内完成的,即在$news->title方法内完成的(实际上使用相同的Varbox\Traits\HasTranslations方法,但默认情况下使用您设置的语言环境)。

这样做是为了简化实现过程,从而使Laravel保持友好:)