V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jtjing
V2EX  ›  PHP

laravel ORM 实现树状结构 省份-城市-医院?

  •  
  •   jtjing · 2016-05-14 22:47:18 +08:00 · 3698 次点击
    这是一个创建于 3108 天前的主题,其中的信息可能已经有所发展或是发生改变。
    province (省份表)
    id
    name

    city (城市表)
    id
    name
    province_id

    hospital (医院表)
    id
    name
    city_id
    count (医生数量)
    问:
    利用 ORM 查出结果最好为一个树状结构,结构层次为下:

    省份
    城市
    医院(为医生数量大于 0 的医院).
    我自己想用 with ()拼出这个最后的结果,不过不知道怎么做.
    第 1 条附言  ·  2016-05-15 22:28:43 +08:00
    自己已解决 删帖
    5 条回复    2016-05-18 18:06:41 +08:00
    laoyuan
        1
    laoyuan  
       2016-05-15 09:09:58 +08:00
    首先得搞清楚最后得到的是什么东西,一个树即有数据又有关系,样子肯定怪怪的。所以最后应该是 4 个东东,一个关系树, 3 个集合。
    cxbig
        2
    cxbig  
       2016-05-15 09:36:12 +08:00   ❤️ 1
    eager loading?
    要不 LZ 先看看这个章节是不是你要的:
    https://laravel.com/docs/5.1/eloquent-relationships#eager-loading
    lincanbin
        3
    lincanbin  
       2016-05-15 10:19:42 +08:00 via Android
    一个表够了,遍历一次可以构造一个三维数组。
    不然就用 JOIN 。
    jtjing
        4
    jtjing  
    OP
       2016-05-16 19:47:51 +08:00
    感谢楼上的作答,不过我已经用 laravel 中更加优雅的查找方式解决。
    alifatguy
        5
    alifatguy  
       2016-05-18 18:06:41 +08:00
    @jtjing 能分享下你是怎么解决的吗?非常感谢!顺便推荐个 Laravel 学习交流群 212423075
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:21 · PVG 13:21 · LAX 21:21 · JFK 00:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.