![](/img/trans.png)
[英]Laravel Eloquent - how to get only 2 child of each parent using Eloquent?
[英]Laravel Eloquent Relationship: How to get parent of parent information from child using Laravel eloquent model relationship?
我在 Laravel Controller 中获取查询结果时遇到问题。 让我给你描述一下。。
我在 Laravel 项目 ModelA、ModelB、ModelC 中有三个模型。
援助 | 姓名 | 信息 |
---|---|---|
1 | 名称1 | 信息1 |
2 | 名称2 | 信息2 |
出价 | col1 | 援助 |
---|---|---|
1 | 值1 | 1 |
2 | 价值2 | 1 |
c_id | col1 | 出价 |
---|---|---|
1 | val_1 | 1 |
2 | val_2 | 1 |
关系: ModelC 到 ModelB -> 多对一
ModelB 到 ModelA -> 多对一
我想返回带有相关 ModelA 和 ModelB 数据的 ModelC 信息,这意味着,我想获得如下数据:
data = [
{
c_id: 1,
col1: val_1,
b_id: 1,
bdata: {
b_id: 1,
col1: value1,
a_id: 1,
adata: {
a_id: 1,
name: name1,
info: info1,
}
}
},
{
c_id: 2,
col1: val_2,
b_id: 1,
bdata: {
b_id: 1,
col1: value1,
a_id: 1,
adata: {
a_id: 1,
name: name1,
info: info1,
}
}
}
]
如何定义modelA、modelC和ModelB中的关系?
以及如何在modelC Controller 中编写查询来获取这样的数据?
先感谢您...
我在 ModelC Controller 中的代码:
$data = ModelC::with('modelB')->get();
ModelB中的关系function:
public function modelA(){
return $this->belongsTo(ModelA::class);
}
ModelC中的关系function:
public function modelB(){
return $this->belongsTo(ModelB::class)->with('modelA');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.