【发布时间】:2018-07-07 18:03:53
【问题描述】:
我有一个表 user_childrens,其中包含 id_parent 和 id_user。 我试图用这个列出父母的所有孩子:
代码:
//relation in model via belongsTo
$idparent = auth('api')->user()->id;
$list = UserChildren::where('id_parent',$idparent)
->with('child:id,name,email')
->get();
return $list->toJson();
返回是:
[
{
"id": 1,
"id_parent": 1,
"id_user": 1,
"created_at": null,
"updated_at": null,
"child": {
"id": 1,
"name": "Mr. Davin Conroy Sr.",
"email": "prempel@example.com"
}
},
{
"id": 4,
"id_parent": 1,
"id_user": 2,
"created_at": null,
"updated_at": null,
"child": {
"id": 2,
"name": "Krystel Lehner",
"email": "cernser@example.net"
}
}
]
但它是 API,所以我只想要子列,例如:
[
{
"id": 1,
"name": "Mr. Davin Conroy Sr.",
"email": "prempel@example.com"
},
{..}
]
UserChildren 模型:
public function child() {
return $this->belongsTo('App\User','id_user','id');
}
我知道我可以通过集合上的 .map() 来做到这一点,但这个查询中可能已经有其他解决方案
【问题讨论】:
-
你能展示 UserChildren 模型吗
-
好的,添加了@Davit
-
我更新我的答案试试看并询问结果
标签: laravel orm eloquent relation