【发布时间】:2017-10-18 19:59:05
【问题描述】:
我有表 users 和 gender
在性别表中有id 和name(男/女)
在users 表中有gender_id
我需要从用户表中获取 json 数据,并根据连接的 ID 从性别表中获取性别名称。使用当前代码,我得到了正确的gender_id,但也得到了所有用户的gender: null。如何在 json 中显示性别表中的姓名?
这就是我所拥有的:
用户模型
public function Gender()
{
return $this->hasOne('App\Gender', 'id');
}
性别模型
public function User()
{
return $this->hasMany('App\User', 'gender_id');
}
控制器
$users = User::with('Gender')->paginate(5);
return response()->json($users);
json 响应
{
"total": 10,
"per_page": 5,
"current_page": 1,
"last_page": 2,
"next_page_url": "http://test.com/user?page=2",
"prev_page_url": null,
"from": 1,
"to": 5,
"data": [
{
"id": 1,
"name": "John",
"surname": "Doe",
"gender_id": 1,
"tel": "987654321",
"email": "john.doe@email.com",
"gender": null
}
]
}
【问题讨论】:
-
我认为你的关系应该是
User belongsTo Gender而不是hasOne
标签: php mysql laravel laravel-5