2014-02-22 81 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')

這將返回一個鍵值數組。

相關問題