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