讲师教授模块,有些是模块组织者。这里,我正在获取讲师教授的模块:
array(
(int) 0 => array(
'organiser' => '1',
'module_id' => '2',
'lecturer_id' => '1',
'Module' => array(
'code' => 'MOD2',
'name' => 'Z Name'
)
),
(int) 1 => array(
'organiser' => '1',
'module_id' => '1',
'lecturer_id' => '1',
'Module' => array(
'code' => 'MOD1',
'name' => 'Module Name'
)
)
)如何根据模块名称对其进行排序?我使用了hasMany直通关系,因为连接表中需要额外的数据(例如组织者)。这是我用来在他们的个人资料中包含讲师数据的方法。注释掉的行不起作用。
public function get($id = null) {
$this->contain(
array(
'User',
'County.name',
'School' => array(
'fields' => array('code', 'name')
),
'ModuleStaff' => array(
'fields' => array('organiser'),
'Module' => array(
'fields' => array('code', 'name'),
),
// 'order' => 'Module.name',
)
)
);
return $this->findByUserId($id);
}下面是我与ModuleStaff连接类的关系
public $belongsTo = array(
'Lecturer' => array(
'className' => 'Lecturer',
'foreignKey' => 'lecturer_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Module' => array(
'className' => 'Module',
'foreignKey' => 'module_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);将name添加到模块的Order值也不起作用,因为每个ModuleStaff只链接到一个模块,我需要根据ModuleStaff对象的子类中的值对其进行排序。
发布于 2013-07-13 18:39:41
您是否尝试过将'order' => 'Module.name'元素放入Module数组中?如下所示:
'ModuleStaff' => array(
'fields' => array('organiser'),
'Module' => array(
'fields' => array('code', 'name'),
'order' => array('Module.name')
)
)https://stackoverflow.com/questions/17625818
复制相似问题