当我使用CakeDC / users插件时,不要显示用户名

时间:2017-11-08 14:36:14

标签: php mysql cakephp model-view-controller orm

enter image description here

您可以看到插件显示用户ID而不是用户名。我该如何解决这个问题。

控制器中的用户:

$users = $this->Histories->Users->find('list', ['limit' => 200]);
    $this->set(compact('history', 'companiesGrants', 'statuses', 'users', 'tags'));

在模板中使用.ctp文件

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

1 个答案:

答案 0 :(得分:0)

您可以在表对象上使用setDisplayField()方法来配置表的显示字段:

public function initialize(array $config)
{
    $this->setDisplayField('username');
    // Prior to 3.4.0
    $this->displayField('usernme');
}

或者您可以分别使用keyFieldvalueField选项配置用于键和值的字段:

$users = $this->Histories->Users->find('list', [
    'keyField' => 'id',
    'valueField' => 'username'
]);