Laravel Eloquent: 数据库架构设计

Laravel Eloquent: DB schema design

我正在为一家在全市维护多个房地产项目的公司编写项目。这样,他们就有了:

  1. 房地产项目(通常是一组具有单一主要地址的公寓)。
  2. 组(项目)中的单身公寓,有自己的地址。
  3. 屋内单身公寓。

因此,#1 的地址将是 Main street - 28,#2 的地址将是 Main street - 28,building 4,#3 的地址将是 Main street - 28,building 4,apt。 12.

问题是他们也有一些实际上同时是 #1 和 #2 的独立屋(比如另一条街 - 123(和很多公寓))。

我正在努力为此设计一个数据库模式并且有多个变体:

  1. 每个地址,无论是公寓地址、房屋地址还是项目地址,都将存储在自己的数据库行中(如纯文本):
id address
1 Main street - 28
2 Main street - 28 building 1
3 Main street - 28 building 1 apt. 12

问题是,由于可能没有中间部分(没有主地址扩展名,例如 building 4),恐怕最后一个变体不会按预期工作,因为每个公寓都会附加到它。

非常感谢您的帮助!

亲切的问候,

找到了实现的方法。我使用了许多 laravel 包中的一个来实现嵌套集模型结构。在这种情况下,我将在数据库中拥有 tree-like 模型,其中有 parent 和后代。

这样,即使我只检索到根的最深 child 元素,我也可以引用每个 parent 元素。这也允许进行多项操作,例如计数 up/down (parents/children),以及构建实际的可视化树模型。

有多个 Laravel 包可以实现这一点。