cakephp从数据库中创建select

时间:2017-07-16 04:20:11

标签: php database cakephp drop-down-menu

我正在尝试使用cakePHP开发一个表单。

return false

它创建一个选择元素

 <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 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>

请注意,数据存储在数据库表'images'中,id字段为'id',所需文本位于'file'

如何使用所需的文本值而不是选项文本值的id值从数据库创建select元素?

1 个答案:

答案 0 :(得分:0)

使用数据库中的数据创建选择字段:

在你的ImagesTable中:

确保正确设置了显示字段:

$this->displayField('file');

在您的控制器中:

$images = $this->Images->find("list");
$this->set(compact("images"));

在模板文件中:

$this->Form->control("image_id", ["type" => "select"]);

更多信息:Form Helper