在CakePHP中是否可以执行查找(' list',...)查询,从中我获得一个分组在多个级别的列表?
例如,如果我想要按用户角色分组的用户列表,还要按推荐联系人的代码分组,我会这样:
$usernameGroups = $this->Article->User->find('list', array(
'fields' => array('User.username', 'User.first_name',
'User.referral', 'User.group'));
我想要这个输出:
$usernameGroups = Array
(
['User'] => Array
(
['AxVc'] => Array
(
['PHPNut'] => 'Larry',
['gwoo'] => 'Gwoo'
)
['EQbd'] => Array
(
['IronMan'] => 'Tony',
['Hulk'] => 'Bruce'
)
)
['Admin'] => Array
(
['AxVc'] => Array
(
['_psychic_'] => 'John',
['AD7six'] => 'Andy',
['jperras'] => 'Joël'
)
)
)
显然我试过这个并没有用。如果我只留下三个字段,那就完美了。因为我对Cake很新,可能我错过了一些东西。这个问题有解决方法吗?
答案 0 :(得分:1)
find('list')
只允许2个或3个字段。
您可以使用find('threaded')
或使用Hash::nest()
。