в моем приложении Laravel у меня есть три таблицы базы данных, которые называются пользователи, проекты и роли.Между ними существует отношение m: n, поэтому у меня также есть сводная таблица с именем project_user_role.Сводная таблица содержит столбцы user_id, project_id и role_id.См. Изображение для скриншота из MySQL Workbench.
Мои модели пользователя, проекта и ролевые модели были определены следующим образом, как и в случае с принадлежностью ToMany:
//User model example
public function projects()
{
return $this->belongsToMany('App\Library\Models\Project', 'project_user_role')->withPivot(['user_id','role_id']);
}
Теперь я могу легко получить проекты аутентифицированного пользователя, такие как:
$user = Auth::user();
$projects = $user->projects;
Ответ выглядит так:
[
{
"id": 1,
"name": "Test project",
"user_id": 1,
"created_at": "2018-05-01 01:02:03",
"updated_at": "2018-05-01 01:02:03",
"pivot": {
"user_id": 2,
"project_id": 17,
"role_id": 1
}
},
]
, но я хотел бы «ввести» информацию о пользователеРоль в ответ Ликат, что:
[
{
"id": 1,
"name": "Test project",
"user_id": 1,
"created_at": "2018-05-01 01:02:03",
"updated_at": "2018-05-01 01:02:03",
"pivot": {
"user_id": 2,
"project_id": 17,
"role_id": 1
},
roles: [
{
"id": 1,
"name": "some role name",
"display_name": "Some role name",
"description": "Some role name",
"created_at": "2018-05-01 01:02:03",
"updated_at": "2018-05-01 01:02:03",
}
]
},
]
Возможно ли это?Спасибо