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

  • 相关阅读:
    Spring boot test
    SQL怎么输出前n个记录? n是中间计算得到的,不支持变量传递
    crontab 命令
    Python 素数判断;以及默尼森数
    精通Web Analytics 2.0 (1) 引言
    Python 编程小备忘
    Python 编辑器 tips
    Hadoop 权威指南学习1 (主要框架)
    ml的线性回归应用(python语言)
    python 学习5--matplotlib画图实践
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/7261319.html
Copyright © 2020-2023  润新知