2015-03-31 70 views
0

嘿,我想找到一个解决方案,我从MySQL使用此命令检索数据:

$meals = TableRegistry::get('Users'); 
$query = $meals 
->find() 
->select(['id' ,'username']) 
->where(['role' => 'patient']); 
$data = $query->toArray(); 

这是使用后,我的代码查询 - >指定者()我得到这个值

{ "id": 4, "username": "s2" } 

我希望把我的形式是值,它是这样的:

echo $this->Form->input('user_id', [ 
     'options' => [1 => 'Admin', 2 => 'Author'] 
    ]) ; 

如何使用的foreach获得价值为ID和usernmae作为名称的任何快速的解决方案

+0

** HTTP://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#finding-key-value -pairs ** – ndm 2015-03-31 07:03:36

回答

3

使用find('list')

$users = TableRegistry::get('Users') 
    ->find('list', ['valueField' => 'username']) 
    ->select(['id' ,'username']) 
    ->where(['role' => 'patient']); 

$this->set('users', $users); 

echo $this->Form->input('user_id', [ 
    'options' => $users 
]); 

http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#finding-key-value-pairs

+0

嘿jose我有一些问题我想添加一个隐藏的输入可以建议我在这里d_id我想在这里更新这个列uer_id得到更新,但在隐藏的形式它没有做任何动作 – 2015-04-03 10:19:43