我使用Eloquent來獲取多語言帖子標題。
public function getTitle_en()
{
return $this->hasOne(Meta::class, 'post_id')->where(['cat' => 'title', 'meta_name' => 'en']);
}
這個回傳英文標題,但有時英文標題不存在所以我想用另一種語言回傳標題。
我的意思是當使用getTitle_en獲取英文標題 ( ['cat' => 'title', 'meta_name' => 'en'] ) 時,如果它不存在,則回傳另一種語言的標題,如“nl”,如果“nl”,則再次回傳(['cat' => 'title', 'meta_name' => 'nl'])在另一種語言中不存在,例如“gr”。
所以我想要 Eloquent 檢查我的表中是否存在英文標題(元)然后回傳它,否則如果英文標題不存在,檢查“nl”標題是否存在回傳否則檢查下一種語言
uj5u.com熱心網友回復:
您可以使用此解決方案:
$query->orderByRaw("FIELD(status, '2', '1', '3')")
只需將您的where()方法更改為接受功能即可。有關更多詳細資訊,請參閱此處。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/331018.html
