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和区别都是在继承上).

  • 相关阅读:
    linux线程
    linux线程
    c++之堆、栈、数据段、
    fork()、僵死进程和孤儿进程
    linux之管理mysql
    linux之管理apache
    Django 时间与时区设置问题
    Django rest framework:__str__ returned non-string (type NoneType) 真正原因
    Django获取当前页面的URL——小记
    Django中出现:TemplateDoesNotExist at
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/7261319.html
Copyright © 2011-2022 走看看