1

在用户控制器中:

$query = $this->User->query("SELECT name FROM Type");
$this->set('type',$query);

在 view.ctp 中:

echo $this->Form->input('Type_id',array('options'=>$type));

这会将 Admin,Type,1 和 User, Type 添加到下拉列表中。

我只想Admin and User在下拉菜单中显示。

类型表仅包含两列 id 和 type

提前致谢。

4

2 回答 2

1

试试这个

$query = $this->User->query("SELECT id,name FROM Type");    
$query = Hash::combine($query, '{n}.Type.id', '{n}.Type.name');
$this->set('type',$query);

或者

User如果和TypeModels之间有关联,也可以做上面的事情

IE

$types = $this->User->Type->find('list', array('fields' => array('id', 'name')));

并在 view.ctp

echo $this->Form->input('type_id',array('options'=>$types)); // here better to use type _id instead of Type_id

于 2013-11-11T06:32:30.153 回答
0

使用约定

尽量避免使用纯 SQL。

您应该使用 Model::find('list') 并根据您的需要进行调整

是您需要的文档。

于 2013-11-11T14:20:07.120 回答