0
我想用cakePHP开发一个表单。cakephp创建从数据库中选择
<div class="links form large-9 medium-8 columns content">
<?= $this->Form->create($link) ?>
<fieldset>
<legend><?= __('Add Link') ?></legend>
<?php
echo $this->Form->control('section_id', ['options' => $sections]);
echo $this->Form->control('link');
//how do I make this display a text value
echo $this->Form->control('image_id', ['options' => $images]);
echo $this->Form->control('active');
echo $this->Form->control('created_on');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>
它外币select元素
<select name="image_id" id="image-id">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
我希望它显示什么是
<select name="image_id" id="image-id">
<option value="1">item a</option>
<option value="2">item b</option>
<option value="3">item c</option>
<option value="4">item d</option>
</select>
注意,数据被存储在数据库表“图像”与id字段'id'和'文件'中的所需文本
如何使其从数据库中创建select元素,使用所需的文本值而不是选项文本值的id值?
我应该把这个$这个 - > displayField( '文件'); – user3633383
你的ImagesTable.php文件中应该有'initialize()'方法,它应该位于src/Model/Table中。它可以被设置为使用“ID”字段,如果是这样,则将其更改为字段,以便将其视为主显示字段。如果没有,只需在该方法的末尾添加一行即可。 – Szymon
谢谢。我需要从自动生成的代码中实际更改的唯一部分是initialize()函数中的这一行。其他一切都已按照您的建议。它现在按需要工作! – user3633383