2017-01-04 51 views
0

我有一個問題,當我添加新的語言,併爲該語言沒有翻譯的文章,然後我得到一個錯誤。這是我的文章翻譯代碼,所以我想要的是如果current_language_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

如何預先檢查翻譯的存在?像這樣的東西...

$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();