我想知道如何使用cakephp 3.3检索查询中的翻译。 我已在表格中添加了:
$this->addBehavior('Translate', ['fields' => ['textContent']]);
这是我的疑问:
$query = $objTable->find('all')
->where(['admin_template_id' => $id])
->contain(['AdminObjects']);
我已经尝试过这个:
$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)
);
如何在查找所有查询中完成翻译?
由于
答案 0 :(得分:1)
您可以使用'all'的find方法'translate'instate。
试
for (int i = 1; i < array.length - 2; i++) {
// do your job
}
的实例
$query = $objTable->find('translations')
->where(['admin_template_id' => $id])
->contain(['AdminObjects']);
officeial Doc Retrieve All Translations