我在添加新语言时遇到问题,对于该语言,没有文章的翻译,然后我收到了错误。这是我的文章翻译代码,所以我想要的是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();
答案 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();