如果当前语言没有翻译,如何将文章设置为默认语言?

时间:2017-01-04 11:19:18

标签: laravel laravel-5 laravel-5.2

我在添加新语言时遇到问题,对于该语言,没有文章的翻译,然后我收到了错误。这是我的文章翻译代码,所以我想要的是current_language_id(如果翻译中没有该ID)没有翻译来返回default_language_id的翻译。有什么建议我怎么办?

$default_language_id = 1;
 $article_trans = $article->translations()->whereHas('language',function($query) use($current_language_id){
        $query->where('id','=',$current_language_id);
      })->first();

1 个答案:

答案 0 :(得分:1)

如何预先检查翻译存在?像这样......

$default_language_id = 1;

$language_exists = $article->translations()->whereHas('language',function($query) use($current_language_id){
        $query->where('id','=',$current_language_id);
      })->first();

$cur_language = !empty($language_exists) ? $language_exists : $default_language_id;

$article_trans = $article->translations()->whereHas('language',function($query) use($cur_language){
        $query->where('id','=',$cur_language);
      })->first();