【发布时间】:2021-12-06 12:48:36
【问题描述】:
这是在我的表中设置的当前displayField:
$this->setDisplayField('id');
我需要它:
$this->setDisplayField('name');
但是,我的数据库表有双语字段,例如 name_en 和 name_fr,我使用 getter 在实体中填充 name:
protected $_virtual = ['name'];
protected function _getName()
{
if (Configure::read('wetkit.lang') == 'fr'){
return $this->_properties['name_fr'];
} else {
return $this->_properties['name_en'];
}
}
-
实体中带有虚拟字段的烘焙表是否应该在烘焙期间将 displayField 设置为 name?
-
也许在 table bake 过程中 getter 不可用以确定 displayField 并默认为
id? -
我是否必须修改
table.twig文件以相应地输出,这取决于我的结构具有name_en和name_fr?
【问题讨论】:
-
您是否有很多需要烘焙的文件,或者您可以只更改烘焙过程产生的文件吗?
-
我们有一个用于烘焙的插件,我们烘焙这样的双语网站,因此不幸的是需要假设这种情况经常出现。我可以轻松地调整插件的 table.twig 文件。我只是想知道它是否应该通过虚拟领域抓住它。
标签: php cakephp cakephp-3.0