Cakephp 按顺序和virtualfield列出
我在cakephp中遇到了一件奇怪的事情。所以我试着先解释一下 我有:Cakephp 按顺序和virtualfield列出,cakephp,drop-down-menu,Cakephp,Drop Down Menu,我在cakephp中遇到了一件奇怪的事情。所以我试着先解释一下 我有: 两张桌子(员工和员工组) 每个小组的组长是一名员工 包含名字和姓氏的虚拟字段 用户可以按姓氏对列表进行排序 员工/模特 public $virtualFields = array( [...] , 'fullnameForList' => 'CONCAT(Staff.lastname, ", ", Staff.firstname)', [...] 员工组/控制器中的功能 public
- 两张桌子(员工和员工组)
- 每个小组的组长是一名员工
- 包含名字和姓氏的虚拟字段
- 用户可以按姓氏对列表进行排序
员工/模特
public $virtualFields = array(
[...] ,
'fullnameForList' => 'CONCAT(Staff.lastname, ", ", Staff.firstname)',
[...]
员工组/控制器中的功能
public function getGroupLeaderListArray(){
$this->loadModel('Staff');
$loc_list = $this->Staff->find("list",
array("fields" => array("id", 'fullnameForList')),
array("order" => array("Staff.lastname ASC" ))
);
$this->set('GroupLeaderList',$loc_list);
}
列表的输出
- 当我使用上面的函数getGroupLeaderListArray时,我会得到virtualfield fullnameForList的内容,但它不是按顺序排列的。姓
- 当我把数组的顺序放在字段之前时,它是按顺序显示的,但字段是错误的。姓
如何获得具有虚拟字段和正确顺序的列表。我不知道更多,因为这个问题,我体重增加,头发脱落。帮我一个大忙
干杯endo您在此处使用的数组结构无效。您需要注意数组在cake中的工作方式。例如,一个带有命名键的数组(这里有多个数组)作为find()的第二个参数
find($type, $options);
因此:
$locList = $this->Staff->find("list",
array(
'fields' => array('id', 'fullnameForList'),
'order' => array('Staff.lastname ASC')
)
);