2017-10-07 10:10:59 2569次浏览 1条回答 1 悬赏 10 金钱

Yii2的rest确实好用,但是仅限于关联2级表关联(通过expand参数指定),对于复杂的表关联来说,只能手动进行查询。
网上找到一个支持多级关联的:https://github.com/HarryZheng0907/yii2-rest
想问下,为什么官方不支持多级关联呢

补充于 2017-12-14 10:04

https://github.com/sndwow/yii2-rest-query-helper

扩展已经写好了,解决了连表查询的问题。欢迎反馈。

最佳答案

  • drodata 发布于 2017-10-11 09:23 举报

    官方 issues 里有一个相关的讨论:https://github.com/yiisoft/yii2/issues/8061 但该特性还未实现。

    如果表格结构复杂,通过自定义 fields() 来获取关联表的数据算不算一种办法呢?

    // 班级模型
    public function fields()
    {
        return [
            'id',
            'name',
            // 获取所有学生
            'students' => function ($model) {
                return $model->students;
            },  
            // 获取所属学校
            'school' => function ($model) {
                return $model->school;
            },  
        ];
    }
    
    2 条回复
    回复于 2017-10-14 17:41 回复

    正在写个扩展,用于解决这个问题。主要是解决表关系,扩展rest接口的功能

    回复于 2017-12-14 10:05 回复

    https://github.com/sndwow/yii2-rest-query-helper

    扩展已经写好了,解决了连表查询的问题。欢迎反馈。

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
sndwow
见习主管

sndwow

注册时间:2016-12-02
最后登录:2019-07-03
在线时长:6小时50分
  • 粉丝0
  • 金钱65
  • 威望20
  • 积分325

热门问题