#php #href
#php #href
Вопрос:
Я пытаюсь добавить предупреждающее сообщение softdeletes для моей таблицы данных, введите описание изображения здесь
Но примеры предназначены для кнопок, я использую ссылку h ref для доступа к функции softdeletes в контроллере
это моя таблица данных, созданная с помощью yajra
MailMessageDataTable.php
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($MailMessage) {
return '<a href="' . route('MailMessage.show', $MailMessage->id) . '"class="btn btn-outline btn-primary btn-xs dim"
data-toggle="tooltip" tittle="' . __('messages.index.show') . '"><i class="fa fa-eye"></i></a>'
.($MailMessage->deleted_at ? '' :
'<a href="' . route('MailMessage.edit', $MailMessage->id) . '"class="btn btn-outline btn-primary btn-xs dim"
data-toggle="tooltip" tittle="' . __('messages.index.edit') . '"><i class="fa fa-edit"></i></a>')
.'<a href="' . route('MailMessage.delete_message', $MailMessage->id) . '"class="btn btn-outline btn-primary btn-xs dim"
data-toggle="tooltip" tittle="' . __('messages.index.delete') . '"><i class="fa fa-trash"></i></a>';
});
}
последний href важен для использования softdeletes
Ответ №1:
Я решил это следующим образом.
Я добавил непосредственно перед маршрутом удаленный доступ к данным, который фиксирует ссылку
.'<a href="" data-name="' . $MailMessage->id .'" data-remote="' . route('mail-message.destroy', $MailMessage->id) . '"
class="btn btn-outline btn-primary btn-xs dim btn-action" style="margin-left:2px" data-toggle="tooltip" title="' . __('messages.index.delete') . '">
<i class="fa fa-trash"></i>
</a>';
и в представлении я добавил скрипт
<script>
$(function () {
let taskTable = $('#task-table');
taskTable.on('click', '.btn-action[data-remote]', function (e) {
e.preventDefault();
let url = $(this).data('remote');
let name = $(this).data("name");
Swal.fire({
title: $('#swal-title').val() ' ' name,
text: $('#swal-message').val(),
icon: "question",
showConfirmButton: true,
showCancelButton: true,
}).then(function (value) {
if (value.value) {
axios.delete(url)
.then((response) => {
$('#task-table').DataTable().draw(false);
showAlert(response.data.message)
});
}
})
});
});
</script>