【问题标题】:Get parents data in eloquent relation以雄辩的关系获取父母数据
【发布时间】:2018-06-14 09:19:37
【问题描述】:

我有这样的表:

Master_Table

    id      titile      desc
    1       one         one is one
    2       two         two is two

子表

    id      value       master_id
    1       first       1
    2       second      1
    3       third       1
    4       fourth      1

所以当我成功检索数据时,它会是这样的json:

    Master_Table {
        id:1,
        title:'one',
        desc: 'one is one',
        Child_Table: [
            {id: 1, value:"first", master_id:1},
            {id: 2, value:"second", master_id:1},
            {id: 3, value:"third", master_id:1},
            {id: 4, value:"fourth", master_id:1},
        ]
    }

我是这样做的:

    $json= PDH::find(1)->products()->where('product_highlight_id', 1)->get();

但结果只有孩子

        Child_Table: [
            {id: 1, value:"first", master_id:1},
            {id: 2, value:"second", master_id:1},
            {id: 3, value:"third", master_id:1},
            {id: 4, value:"fourth", master_id:1},
        ]

我确信这在 Laravel Eloquent 中可用,但我几乎找不到它。有人可以给我指点一下吗?

提前致谢。

【问题讨论】:

    标签: laravel eloquent lumen laravel-eloquent


    【解决方案1】:

    您无需再次检查product_highlight_id,因为您已经检查了master object,并且您拥有相应的child collection

    $json = PDH::with('products')->where('id', 1)->first();
    

    我假设 PDH 你的主模型。

    【讨论】:

    【解决方案2】:

    使用with() 方法:

    $pdh = PDH::with('products')->where('product_highlight_id', 1)->find(1);
    

    那么$pdh 将包含父对象,$pdh->products 将是产品的集合。

    【讨论】:

    • 非常好!我只需要更改 where 子句。谢谢! :)
    猜你喜欢
    • 2014-03-26
    • 2021-05-02
    • 2020-12-02
    • 1970-01-01
    • 2018-07-01
    • 2021-03-10
    • 2018-10-18
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多