在一个真实状态的项目中,我具有一个具有相关位置(location_id)的表属性。 这些位置在嵌套的集合模型中构造(左,右和级别:https://en.wikipedia.org/wiki/Nested_set_model)。
例如,给定以下嵌套位置: 美国(id 1)>纽约州(id 2)>纽约市(id 3)>皇后区(id 4)
...和一个属性 地址:第85街,location_id:4
我想拥有一个Property :: withNestedRelation方法,该方法将在属性和位置之间执行自定义查询联接查询。 获取属性的完整树位置的查询如下:
select p.name
from location p
inner join location c on (p.lft <= c.lft and r.rgt >= l.rgt)
inner join property p on (c.id = p.location_id)
where p.id = 1
无论如何,都可以雄辩地使用with属性来创建自定义的m:n关系?
谢谢!