首页 > 代码库 > 使用ORM关联关系,如何自己关联自己
使用ORM关联关系,如何自己关联自己
今天碰到一个需求是需要自己关联自己,输出数据为树状,我们在定义关联关系的用get_calss方法
/** * 定义关联关系 * @return \think\model\relation\HasMany */ 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和区别都是在继承上).
使用ORM关联关系,如何自己关联自己
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。