1

我在 cakephp 中有一件奇怪的事情。所以我试着先解释一下。

我有:

  • 两张表(员工和员工组)
  • 每个组的组长,这是一个工作人员
  • 一个虚拟字段,它连接名字和姓氏
  • 按姓氏排序列表的愿望

员工/模特

public $virtualFields = array(
    [...] ,
    'fullnameForList' => 'CONCAT(Staff.lastname, ", ", Staff.firstname)',
    [...]

在 Staffgroup/controller 中的功能

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 时,我得到了虚拟字段 fullnameForList 的内容,但它不是按顺序排列的。例如。姓,名

  • 当我将数组顺序放在字段之前时,它按顺序显示,但字段错误。例如。名字 姓氏


如何获取带有虚拟字段和正确顺序的列表。我不知道更多,因为这个问题,我正在增加体重和脱发。帮助apreciated大时间!

干杯

4

1 回答 1

2

您在这里使用了无效的数组结构。您需要注意数组在蛋糕中的工作方式。例如,一个带有命名键的数组(这里有多个数组)作为 find() 的第二个参数。

find($type, $options);

所以这是:

$locList = $this->Staff->find("list",
    array(
        'fields' => array('id', 'fullnameForList'),
        'order' => array('Staff.lastname ASC')
    )                              
);
于 2013-01-22T16:49:41.543 回答