以雄辩的关系获取父母数据
Posted
技术标签:
【中文标题】以雄辩的关系获取父母数据【英文标题】: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 中可用,但我几乎找不到它。有人可以给我指点一下吗?
提前致谢。
【问题讨论】:
【参考方案1】:您无需再次检查product_highlight_id
,因为您已经检查了master object
,并且您拥有相应的child collection
。
$json = PDH::with('products')->where('id', 1)->first();
我假设 PDH 你的主模型。
【讨论】:
first
和find
有什么区别?
***.com/questions/33027047/… 看看这里【参考方案2】:
使用with()
方法:
$pdh = PDH::with('products')->where('product_highlight_id', 1)->find(1);
那么$pdh
将包含父对象,$pdh->products
将是产品的集合。
【讨论】:
非常好!我只需要更改 where 子句。谢谢! :)以上是关于以雄辩的关系获取父母数据的主要内容,如果未能解决你的问题,请参考以下文章