【发布时间】:2017-05-26 12:47:10
【问题描述】:
我正在尝试从查询构建器中获取某种结构,如下所示:
{
"status": "success",
"data": {
"id": 1,
"email": "test@test.com",
"birth_date": "1992-08-17",
"gender": "M",
"is_active": 1,
"role": {
"id": 1,
"name": "Admin",
"created_at": "2017-01-11 15:16:14",
"updated_at": null
}
}
}
如您所见,我需要嵌套关系,在本例中为用户到角色。
我可以通过User::with('role') 使用急切加载来获得这个结构。
我有这个查询,但它在一列中返回所有内容。 有什么方法可以使用查询生成器获得相同的结构? 使用急切加载是不好的做法吗?
User::select('users.id', 'users.full_name')
->join('roles as r', 'r.id', '=', 'users.role_id')
->where('users.id', $user_id)
->get();
提前致谢。
【问题讨论】:
标签: php json laravel eloquent laravel-5.3