Я разрабатываю API с Laravel 6.
У меня есть 2 модели:
карта -> настольные карты с card_id e cc.
пользователь -> пользователи таблицы с user_id e cc.
Я определил в моделях отношения многие ко многим
Пользователь. php
public function cards()
{
return $this->belongsToMany('App\Models\v1\Card');
}
Карта. php
public function users() {
return $this->belongsToMany('App\Models\v1\User');
}
Сводная таблица называется card_user.
Теперь я создал маршруты для отдельных объектов:
Route::resource('v1/users', 'v1\UsersController');
Route::resource('v1/cards', 'v1\CardsController');
и мне нужно разработать маршруты и контроллер для вставки и удаления строк из сводной таблицы.
Каков наилучший способ решения этой проблемы?
Я пытаюсь решить эту проблему с помощью специального контроллера, который отвечает на указанную конечную точку c:
Route::resource('v1/cards/{id}/users', 'v1\CardsUsersController')->only([
'index', 'store', 'destroy'
]);
Но когда мне нужно хранить информацию, мне нужно передать идентификаторы карты и пользователь в URL и как объект в теле сообщения, например:
[
'user_id' => $userId,
'card_id' => $cardId
]
Существует ли лучший способ сделать это?
Большое спасибо!