CakePHP 3.10添加一个表单字段与'_id'在名称中,自动使其成为一个选择字段。我想知道,如果这是在我们的应用程序中做的事情,特别是由以前的开发人员,如果是这样,我会如何/在哪里看?
或者,如果它是一个CakePHP的东西,我可以在哪里得到它的文档?
控制器:
public function add()
{
$building = $this->Buildings->newEntity();
if ($this->request->is('post')) {
//code for after form submission
}
$this->set(compact('building'));
}
查看方式:
<div>
<?= $this->Form->create($building) ?>
<fieldset>
<legend><?= __('Add Building') ?></legend>
<?php
echo $this->Form->control('test_id'); <!-- this field type will be a select field -->
echo $this->Form->control('name');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>
1条答案
按热度按时间dgjrabp21#
如果您阅读此V3文档,您可以看到:
您可以在这里查看更多信息,也可以在这里查看更多信息。
所以,这是因为cakephp理解你在
Buildings
模型和Test
模型之间有一个belongsTo或者hasOne关联。如果你在buildings表中有一个test_id列,你就告诉cakephp测试表有一个或者有很多buildings/s。
您可以使用以下条件强制使用表单帮助程序类型:
额外注意:当您遇到这种情况时,可以使用虚拟字段来显示该建筑物所属的test_id。例如:您可以显示测试名称和作者名称的连接(假设这两个字段存在于测试表中),如下所示:
转换为测试实体. php
进入视图: