访问blade laravel中基于当前Locale的Model字段


access to field of Model based on current Locale in blade laravel

在多语言应用程序中,我有一个名为Honors的表,其中包含以下字段:

honor_id
title_fa
title_ar
title_en
pic_name
created_at
updated_at
type

正如您所看到的,对于不同的语言,我添加了一个标题列,并为其添加了后缀。

对于基于当前Locale的刀片模板中的showtitle字段,首先我与AppServiceProvider.php中的所有刀片模板共享Locale,如下所示:

public function boot()
    {
        $this->app['view']->composer('*', function ($view) {
            $view->with('lang', App::getLocale());
        });
    }

在我的刀片模板中,我使用此代码访问适当的字段:

{{ $Honor->title_.$lang }}

但这不起作用,也没有任何回报?

什么是问题,我该怎么做?

您调用了无效属性,请尝试以下操作:

$titleProperty = 'title_' . $lang;
{{ $Honor->$titleProperty }}