CakePHP 3 - 使用自定义表

时间:2016-11-15 16:06:44

标签: cakephp-3.0

所以我开始关注CakePHP,我只是做了一些测试用例,看看CakePHP是否能满足我的所有需求。

我有一个自定义表(表名:角色):

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

在我的控制器(用户控制器)中,根据此处的所有反馈,我有以下代码。

$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>

请说明这里有什么问题,因为这只是简单的填充?

1 个答案:

答案 0 :(得分: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']]);

希望你能得到结果。