2016-11-15 83 views
1

所以我開始考慮CakePHP,我只是做了一些測試用例來看看CakePHP是否能滿足我所有的需求。CakePHP 3 - 使用定製表中的數據填充選擇下拉列表

我有一個自定義表(表名:角色):

id role sub_site 
1 Role 1 0 
2 Role 2 0 
3 Role 3 0 
4 Role 4 0 
5 Role 1 1 

在我的控制器(DC型的用戶),我有一個基於所有反饋這裏的下面的代碼。

$this->loadModel("roles"); 
$rolesList = $this->roles->find('list', array(
     'conditions' => array('sub_site' => '0'), 
     'fields' => array('id', 'role') 
)); 
$this->set(compact('rolesList')); 


I have the following in the view 

$this->Form->input('role', array('label'=>false, 
       'div'=>false, 
       'type'=>'select', 
       'empty'=>'-- select one --', 
       'options'=>$rolesList)); 

然而,輸出結果如下:

<select name="role" required="required" id="role"> 
<option value="">-- select one --</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
</select> 

所有我想要的是輸出如下:

<select name="role" required="required" id="role"> 
<option value="">-- select one --</option> 
<option value="1">Role 1</option> 
<option value="2">Role 2</option> 
<option value="3">Role 3</option> 
<option value="4">Role 4</option> 
</select> 

請註明,因爲這是假設很簡單這裏有什麼問題只是填充?

+0

看起來像所有好..舉行$角色列表的調試值,數據實際上是如何來? –

+0

抱歉,但我如何才能調試值,我是新來這個框架:-( – Skobbejak

+0

希望這有助於:@ManoharKhadka 選擇 roles.id AS'roles__id', roles.role AS'roles__role' FROM 角色的角色 WHERE sub_site = 0 rolesList(陣列) CREATE TABLE'roles'( 'id' INT(11)NOT NULL, 'role' VARCHAR(255 )NOT NULL, 'sub_site' int(11)NOT NULL )ENGINE = InnoDB DEFAULT CHARSET = latin1; INSERT INTO'roles'('id','role','sub_site')值 (1,'Recruiter',0), (2,'Moderator',0), (3,'Line Manager ',0), (4,'Admin',0), (5,'Super Admin',1); – Skobbejak

回答

0

我正在使用此方法獲得結果。在我的控制器:

$articles = TableRegistry::get('Transfers'); 
$make=$articles->find('list', ['keyField' => 'id','valueField' => 'make']); 
$this->set('make',$make); 

,然後在視圖:

echo $this->Form->input('make',['type'=>'select','options'=>$make ,'empty'=>'-Select Make-','class'=>'form-control','templateVars'=>['class'=>'col-md-4']]); 

希望你能得到的結果。

相關問題