我目前正在使用Laravel/Lumen构建一个JSON,现在尝试访问存储在此模型的关系中的模型属性
// I also want to return User->roles
return User::find(1)->first();
返回:
{
"id": 2,
"email": '...'
}
我实际上找到了一种方法,但这似乎是被黑客入侵的,而且不是很干净
// Get user
$user = User::find($id)->first();
// Make roles public
$user->roles = $user->roles;
// Return object
return $user;
返回:
{
"id": 2,
"email": '...',
"roles": [
...
]
}
有没有更好的方法?或者这是一种安全的东西,你想保护你的数据?但是既然你可以在php中访问这种关系,为什么不把它作为json对象返回呢?
在laravel文档中找不到任何内容
发布于 2016-05-09 01:47:33
您可以在您的关系中使用辅助函数with
,如下所示:
user::find($id)->with('roles')->first()
发布于 2018-06-03 01:13:01
public function show(User $user) {
return $user->load('books');
}
发布于 2016-05-09 02:07:23
最短的语法是:
User::with('roles')->find($id);
在这种情况下不需要使用first()
https://stackoverflow.com/questions/37102850
复制相似问题