Не могу получить по ID элемент в аргументе из базы данных Laravel
Я пишу API на Laravel и хочу изменить элемент в базе данных, для этого использую put
. И я могу получать элемент сразу в аргументе, используя модель этого элемента, но я, почему-то его не получаю, такой способ у меня работает в другом контроллере, но не здесь.
API Routing:
Route::group(['prefix' => 'v1', 'namespace' => 'App\Http\Controllers\Api\V1', 'middleware' => 'auth:sanctum'], function () {
Route::apiResource('achievements', AchievementsController::class);
Route::post('logout', [\App\Http\Controllers\Api\V1\Auth\LogoutController::class, 'logout']);
});
Контроллер:
public function update(UpdateAchievementsRequest $request, Achievements $achievements)
{
$credentials = $request->all();
return [
'req' => $credentials,
'achi' => $achievements
];
}
Отправка API:
async actionEditAchievement(data, id){
return await new Promise((resolve, reject) => {
axios.get(useRuntimeConfig().public.base + 'sanctum/csrf-cookie', {withCredentials: true})
.then(() => {
axios
.put(useRuntimeConfig().public.baseApi + 'achievements/' + id, data,{
headers: {
'Accept': 'application/json',
'Authorization': `${this.getCurrentUser.token_type} ${this.getCurrentUser.token}`
}
})
.then((res) => {
console.log(res);
resolve('Достижение изменено');
})
.catch(() => {
reject('Бро, как???');
});
});
});
},
Источник: Stack Overflow на русском