Как следует из названия, я получаю сообщение об ошибке, когда пытаюсь удалить свои данные с помощью laravel/ajax и функции внутри контроллера:
Контроллер:
public function destroy($category_id) {
$category_delete = HmsBbrCategory::find($category_id);
$category_delete->delete();
return response()->json([
'status'=>200,
'message'=>'Category Deleted!',
]);
}
Форма и Ajax:
`delete_category` is the id that opens the delete modal and `delete_category_btn` is the button that will delete the data.
<button type="submit" class="btn btn-primary btn-block delete_category_btn"></i>Yes</button>
<button type="button" value="${cat.category_id}" class="delete_category btn btn-outline-secondary"><i class="fas fa-trash"></i> Delete</button>
$(document).on('click', '.delete_category', function (e) {
e.preventDefault();
//click this button(delete_category) to get the value(category_id)
var cat_id = $(this).val();
// alert(cat_id);
$('#delete_cat_id').val(cat_id);
$('#deleteCategoryModal').modal('show');
});
$(document).on('click', '.delete_category_btn', function (e) {
e.preventDefault();
var cat_id = $('#delete_cat_id').val();
// alert(cat_id);
//token taken from laravel documentation
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "DELETE",
url: "/clinical/bbr-category-configuration-delete/"+cat_id,
dataType: "dataType",
success: function (response){
// console.log(response);
$('#category_notif').addClass('alert alert-success');
$('#category_notif').text(response.message);
$('#deleteCategoryModal').modal('hide');
}
});
});
Маршрут:
Route::delete('/bbr-category-configuration-delete/{category_id}', [BBRCategoryConfigurationController::class,'destroy']);
Что следует отметить:
- Я пошел дальше и показал category_id внутри модального окна, чтобы доказать, что таблица извлекается.
вторая функция ajax для кнопки удаления: $(document).on('click', '.delete_category_btn', function (e)
, я также пытался показать идентификатор с помощью alert(cat_id);
, чтобы также доказать, что идентификатор все еще распознается внутри модального окна:
Даже если присутствует category_id, проверка страницы после попытки удаления по-прежнему показывает:
message: "Call to a member function delete() on null"
Что я могу сделать, чтобы решить эту проблему? спасибо за любую помощь.
findOrFail()
вместоfind
? - person shaedrich   schedule 23.06.2021