zoukankan      html  css  js  c++  java
  • 使用ORM关联关系,如何自己关联自己

    今天碰到一个需求是需要自己关联自己,输出数据为树状,我们在定义关联关系的用get_calss方法

       /**
         * 定义关联关系
         * @return 	hinkmodel
    elationHasMany
         */
        public function user()
        {
            return $this->hasMany(get_class($this),'area','area');
        }
    {
        "code": 200,
        "message": "成功",
        "data": [
            {
                "area": "自营",
                "user": [
                    {
                        "id": 2,
                        "usr": "毅拓科贸",
                        "area": "自营"
                    },
                    {
                        "id": 3,
                        "usr": "安博",
                        "area": "自营"
                    },
                    {
                        "id": 4,
                        "usr": "世纪扬天",
                        "area": "自营"
                    },
                    {
                        "id": 5,
                        "usr": "沧田",
                        "area": "自营"
                    },
                    {
                        "id": 6,
                        "usr": "佳阳电子",
                        "area": "自营"
                    },
                    {
                        "id": 7,
                        "usr": "博中天虹",
                        "area": "自营"
                    },
                    {
                        "id": 8,
                        "usr": "丹灵",
                        "area": "自营"
                    },
                    {
                        "id": 153,
                        "usr": "中美隆",
                        "area": "自营"
                    },
                    {
                        "id": 154,
                        "usr": "格力",
                        "area": "自营"
                    },
                    {
                        "id": 155,
                        "usr": "美承",
                        "area": "自营"
                    }
                ]
            },
            {
                "area": "安阳",
                "user": [
                    {
                        "id": 9,
                        "usr": "安阳A",
                        "area": "安阳"
                    },
                    {
                        "id": 27,
                        "usr": "安阳B",
                        "area": "安阳"
                    },
                    {
                        "id": 59,
                        "usr": "林州市",
                        "area": "安阳"
                    },
                    {
                        "id": 62,
                        "usr": "安阳县",
                        "area": "安阳"
                    },
                    {
                        "id": 82,
                        "usr": "滑 县",
                        "area": "安阳"
                    },
                    {
                        "id": 113,
                        "usr": "内黄县",
                        "area": "安阳"
                    },
                    {
                        "id": 119,
                        "usr": "汤阴县",
                        "area": "安阳"
                    }
                ]
            },

    这里的get_class($this):获取的是当前类名

    get_called_calss和它不同,是调用该方法的类名(和self,static和区别都是在继承上).

  • 相关阅读:
    记一次 contentInsetAdjustmentBehavior 引发的bug
    Android埋点技术概览
    Android开发快速入门iOS开发概览
    工作项目遇到的一些问题
    ruby操作项目.xcodeproj
    关于performSelector afterDelay:0 的使用
    谷歌Python代码风格指南 中文翻译
    最大子矩阵问题--悬线法dp
    tarjan
    SDU CSPT3模拟
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/7261319.html
Copyright © 2011-2022 走看看