我使用的是CakePHP 3.4,我將其用於雙語言網站,其中西班牙語(es
)是默認語言環境。我有一個MangasTable
該字段slug
實施TranslateBehavior
,我想查詢它,主要內容如下:TranslateBehavior在默認語言環境中不採用默認字段
$manga = $this->Mangas->find()
->select([
'id',
'nombre'
])
->where([$this->Mangas->translationField('slug') => $slug])
->firstOrFail();
的一點是,部分$this->Mangas->translationField('slug')
會得到我的翻譯走樣場的蛞蝓。或多或少,Mangas_slug_translation.content
。當它以英語本地化時,這很好,但是使用默認西班牙語,因爲該語言的i18n
表中沒有任何條目,它不會返回任何內容。這位窮人的方法將有一個條件的語言,並將其分配給一個$field
變量,但這看起來不太好。
有沒有其他方法,或者我錯過了什麼?