Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spatiale/laravel Translateable在我尝试检索尚不存在的翻译时显示默认区域设置_Laravel_Localization_Spatie_Laravel Translatable - Fatal编程技术网

Spatiale/laravel Translateable在我尝试检索尚不存在的翻译时显示默认区域设置

Spatiale/laravel Translateable在我尝试检索尚不存在的翻译时显示默认区域设置,laravel,localization,spatie,laravel-translatable,Laravel,Localization,Spatie,Laravel Translatable,问题是我想要一个有3种语言(英语、意大利语、德语)的标题。用户可以为每种语言在表单上添加3个标题,其中只有意大利语是必需的。之后,使用spatie/laravel translateable将标题保存在db中,如下所示: {"it":"Titolo in italiano.","en":"English title."} 这个想法是,用户可以编辑这个标题,但有一个问题。 当尝试检索英语、意大利语、德语的标题时,当该

问题是我想要一个有3种语言(英语、意大利语、德语)的标题。用户可以为每种语言在表单上添加3个标题,其中只有意大利语是
必需的
。之后,使用
spatie/laravel translateable
将标题保存在db中,如下所示:

{"it":"Titolo in italiano.","en":"English title."}
这个想法是,用户可以编辑这个标题,但有一个问题。 当尝试检索英语、意大利语、德语的标题时,当该语言的标题之一丢失时,我尝试使用以下方式显示它:

{{$item->getTranslation('title_lang','de')}

它根据默认语言环境检索默认标题,在本例中,默认语言环境是
'It'
。因此,如果德国队的冠军不见了,那就看意大利队的冠军了

我想显示包含德语标题的输入,否则在没有德语标题的情况下为空

我不知道如何使用
@if
语句或其他逻辑检查
blade
。 我拼命尝试,但没有成功(没有意义,但我尝试了一下):

我看了这些文件,但没有找到什么可以帮助我的

有人知道如何做到这一点吗


谢谢大家!

您是否可以尝试
$useFallbackLocale=false
参数以获取默认的语言环境字符串

您可以从中检查方法的使用情况


作为:
$product->getTranslation('description_locale','de',false)

您是否可以尝试
$useFallbackLocale=false
参数来获取默认的语言环境字符串。As:
$product->getTranslation('description\u locale','de',false)
Bro你说得对!非常感谢你!我被挡住了,什么也没想到。你可以写下这个作为答案,我可以接受!仅供参考:
@if(isset({{$product->getTranslation({description_locale',de')}))
不应包含
{{
}
,因为您已经在使用Blade@brombeer是的,那太愚蠢了,我只是把它弄糊涂了,我知道,
@if
不应该在
{{}}
中使用,但我只是把它弄糊涂了。无论如何,谢谢你。我在没有
{{}}
的情况下也尝试了这个,但没有成功。我正在编辑这个问题,但我已经得到了答案。这可能是因为
isset()
@if($product->getTranslation('description\u locale','de'))
应该可以工作,但没有经过测试
@if(isset($product->getTranslation('description_locale', 'de')))
    {{ $product->getTranslation('description_locale', 'de') }}
@else
@endif