2014-02-22 79 views
1
<!-- 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进行查询。如何在CakePHP下拉菜单中显示数组数据?

在我的医生型号:

public $displayField = 'doctor_name'; 

,我的看法是:

<?php echo $this->Form->input('doctor_name', array('options' => $doctors)));?> 

回答

1

当你想从下拉菜单模型中使用的数据,一个find('list')是你在找什么。在你的控制器中加入:

$this->set('doctorNames', $this->Doctor->find('list')); 

因为你已经在你的模型设置displayField,它将获取的标签,标识的将是值。就像它应该。另外,如果你遵循命名约定,并设置变量名称为$doctorNames,您不再需要到options部件添加到您的视图,你可以简单地使用:

$this->Form->input('doctor_name'); 

而且它会产生一个下拉与所有的医生名字。

1

当得到医生的阵列,使用$this-> Doctor-> find ('list')

这将返回一个键值数组。

相关问题