У меня проблема с удалением данных из my view
, я использую Yajra
Datatables в моем проекте с laravel 5.5
Редактирование работает действительно хорошо, но my delete
данные не работают!
У меня есть конфигурация в
Web.php
api.php
my controller
my view
my actions.php
Пожалуйста, друг, мне нужно решить эту проблему в моем проекте ...
My Web.php
с аутентификацией
Route::post('clientes/store', 'ClientesController@store')->name('clientes.store')
->middleware('permission:clientes.create');
Route::get('admin/clientes', 'ClientesController@index')->name('clientes.index')
->middleware('permission:clientes.index');
Route::get('admin/clientes/create', 'ClientesController@create')->name('clientes.create')
->middleware('permission:clientes.create');
Route::put('admin/clientes/{cliente}', 'ClientesController@update')->name('clientes.update')
->middleware('permission:clientes.edit');
Route::get('admin/clientes/{cliente}', 'ClientesController@show')->name('clientes.show')
->middleware('permission:clientes.show');
Route::delete('admin/clientes/{cliente}', 'ClientesController@destroy')->name('clientes.destroy')
->middleware('permission:clientes.destroy');
Route::get('admin/clientes/{cliente}/edit', 'ClientesController@edit')->name('clientes.edit')
->middleware('permission:clientes.edit');
my api.php
здесь я создаю конфигурацию для данных.
Route::get('clientes', function (){
return datatables()
->eloquent(GastosComunes\Clientes::query())
->addColumn('btn', "admin.clientes.actions")
->rawColumns(['btn'])
->toJson();
});
моя функция разрушается в my controller
public function destroy($ID){
$Clientes = Clientes::FindOrFail($ID);
$result = $Clientes->delete();
if ($result){
return response()->json(['success' => 'true']);
}else{
return response()->json(['success' => 'false']);
}
}
My view
<body>
<input id="token" name="_token" type="hidden" value="{{ csrf_token() }}"/>
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-12">
<h3> Listado de nuestros clientes @can('clientes.create')<a href="clientes/create"> <button class="btn btn-success">Nuevo</button></a>@endcan</h3>
</div>
<body>
<div class="table-responsive">
<table id="clientes" class="table table-striped table-bordered table-condensed table-hover" style="width:100%">
<thead>
<tr>
<th width="20px">ID</th>
<th>Rut</th>
<th>Nombre</th>
<th>Comuna</th>
<th>Direccion</th>
<th>Correo</th>
<th>Telefono</th>
<th>Acciones</th>
</tr>
</thead>
</table>
</div>
@push('scripts')
<script>
$(document).ready(function() {
$('#clientes').DataTable({
"language":{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_ registros",
"sZeroRecords": "No se encontraron resultados",
"sEmptyTable": "Ningún dato disponible en esta tabla",
"sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
"sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"sInfoPostFix": "",
"sSearch": "Buscar:",
"sUrl": "",
"sInfoThousands": ",",
"sLoadingRecords": "Cargando...",
"oPaginate": {
"sFirst": "Primero",
"sLast": "Último",
"sNext": "Siguiente",
"sPrevious": "Anterior"
},
"oAria": {
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
}
},
processing: true,
serverSide: true,
info: false,
autoWidth: false,
select: true,
"ajax": "{{url('api/clientes')}}",
"columns": [
{data: 'ID', name: 'ID'},
{data: 'Rut', name: 'Rut'},
{data: 'Nombre', name: 'Nombre'},
{data: 'Comuna', name: 'Comuna'},
{data: 'Direccion', name: 'Direccion'},
{data: 'Correo', name: 'Correo'},
{data: 'Telefono', name: 'Telefono'},
{data: 'btn'}
]
});
});
$("body").on("click", "#clientes-table #btnEliminar", function(event) {
event.preventDefault();
var idsele = $(this).attr("value");
var token= $("token").val();
alertify.confirm("Eliminar registro", "¿Deseao eliminar el registro? !Al eliminar este regirtos, se eliminaran todos los datos relacionados al mismo!",
function() {
$.ajax({
url: 'clientes/'+idsele,
headers: {'X-CSRF-TOKEN': token},
type: 'DELETE',
dataType: 'json',
success: function(data) {
if (data.success == 'true') {
toastr["success"]('!El registro se elimino exitosamente!');
$datable.ajax.reload();
}
else {
toastr["error"]('!El registro no se pudo eliminar!');
$datable.ajax.reload();
}
}
});
},
function () {
alertify.notify('Sin acción')
}
);
});
</script>
@endpush
</body>
И мой actions.blade.php
файл, где у меня есть вызов для редактирования или удаления
<a href="{{ route('clientes.edit',$ID) }}" class="btn btn-primary btn-sm"><i class="fa fa-edit"></i></a>
<a href="{{ route('clientes.destroy',$ID) }}" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i> </a>