<!-- language: lang-none -->
Array
(
[0] => Array
(
[Doctor] => Array
(
[id] => 1
[doctor_name] => Dr. Kazi Hasinur Rahman
)
)
[1] => Array
(
[Doctor] => Array
(
[id] => 2
[doctor_name] => Dr.M. Zahid Hasan
)
)
[2] => Array
(
[Doctor] => Array
(
[id] => 3
[doctor_name] => Dr.M.A.Malek
)
)
)
这是我的一系列医生。我希望将doctor_name显示为下拉列表,并在表单提交时使用id进行查询。
在我的医生模型中:
public $displayField = 'doctor_name';
我的观点是:
<?php echo $this->Form->input('doctor_name', array('options' => $doctors)));?>
答案 0 :(得分:1)
如果您想在下拉菜单中使用模型中的数据,那么您需要find('list')。在你的Controller中添加:
$this->set('doctorNames', $this->Doctor->find('list'));
因为您已经在模型中设置了displayField
,所以它会将其作为标签获取,而id将是值。就像它应该的那样。此外,如果您遵循命名约定并将变量名称设置为$doctorNames
,则不再需要将options
部分添加到View中,您只需使用:
$this->Form->input('doctor_name');
它会产生一个包含所有医生姓名的下拉列表。
答案 1 :(得分:1)
获取医生数组时,请使用$this-> Doctor-> find ('list')
这将返回一个键值数组。