jtjing
V2EX  ›  PHP

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

  •  
  •   jtjing · May 14, 2016 · 4521 views
    This topic created in 3678 days ago, the information mentioned may be changed or developed.
    province (省份表)
    id
    name

    city (城市表)
    id
    name
    province_id

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

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