我正试图通过列表获取Cake中的下拉列表:
function add() {
if (!empty($this->data)) {
$this->User->create();
if ($this->User->save($this->data)) {
$this->Session->setFlash(__('The User has been saved', true));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The User could not be saved. Please, try again.', true));
}
$group = $this->User->Group->find('list');
$commune = $this->User->Commune->find('list');
$this->compact('group','commune');
}
}
该模型已经在属于Group和Commune模型的用户模型中定义了属性,但是我似乎无法将组和公社显示为添加视图页面中的下拉列表。
以下是我添加视图页面的内容。
<div class="Users form">
<?php echo $this->Form->create('User');?>
<fieldset>
<legend><?php __('Add User'); ?></legend>
<?php
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('group_id', array('type' => 'select'));
echo $this->Form->input('commune_id');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit', true));?>
</div>
<div class="actions">
<h3><?php __('Actions'); ?></h3>
<ul>
<li><?php echo $this->Html->link(__('List Users', true), array('action' => 'index'));?></li>
</ul>
</div>
有什么原因导致它无效吗?
答案 0 :(得分:0)
在视图中尝试此操作:
$this->Form->input('Group');
可替换地:
$this->Form->input('group_id', array('type' => 'select', 'options' => $group));
您正在设置$ group和$ commune,但视图正在寻找$ group_id和$ commune_id。
答案 1 :(得分:0)
您需要使用复数形式才能自动将这些选项加载到表单字段中。
$ groups,$ communes