首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按子值排序CakePHP containable

按子值排序CakePHP containable
EN

Stack Overflow用户
提问于 2013-07-13 08:25:32
回答 1查看 306关注 0票数 0

讲师教授模块,有些是模块组织者。这里,我正在获取讲师教授的模块:

代码语言:javascript
复制
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直通关系,因为连接表中需要额外的数据(例如组织者)。这是我用来在他们的个人资料中包含讲师数据的方法。注释掉的行不起作用。

代码语言:javascript
复制
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连接类的关系

代码语言:javascript
复制
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对象的子类中的值对其进行排序。

EN

回答 1

Stack Overflow用户

发布于 2013-07-13 18:39:41

您是否尝试过将'order' => 'Module.name'元素放入Module数组中?如下所示:

代码语言:javascript
复制
'ModuleStaff' => array(
    'fields' => array('organiser'),
    'Module' => array(
        'fields' => array('code', 'name'),
        'order'  => array('Module.name')
    )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17625818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档