2016-10-09 5 views
0

cakephp 3.3でクエリ内の翻訳を取得する方法を知りたいと思います。 は、私はすでに表内で追加しました:私はすでにこれを試してみましたcakephpすべての翻訳を取得する

$query = $objTable->find('all') 
    ->where(['admin_template_id' => $id]) 
    ->contain(['AdminObjects']); 

$this->addBehavior('Translate', ['fields' => ['textContent']]); 

は、これが私のクエリです

$query = $objTable->find('all') 
     ->where(['admin_template_id' => $id]) 
     ->contain(['AdminObjects', 'translations']); 

しかし、私はエラーを返し500

私の変換テーブルはcakephpのドキュメントと同じです:

CREATE TABLE i18n (
    id int NOT NULL auto_increment, 
    locale varchar(6) NOT NULL, 
    model varchar(255) NOT NULL, 
    foreign_key int(10) NOT NULL, 
    field varchar(255) NOT NULL, 
    content text, 
    PRIMARY KEY  (id), 
    UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field), 
    INDEX I18N_FIELD(model, foreign_key, field) 
); 

どのようにすべての検索クエリで翻訳を行うことができますか?

ありがとうございました

答えて

1

あなたはfindメソッド 'translations' instate of 'all'を使用できます。

$query = $objTable->find('all') 
->where(['admin_template_id' => $id]) 
->contain(['AdminObjects']); 

officeialドクRetrieve All Translations

$query = $objTable->find('translations') 
->where(['admin_template_id' => $id]) 
->contain(['AdminObjects']); 

instateを試してみてください

関連する問題