Laravel supprimer avec confirmation
user2301515
J'essaie de supprimer avec confirmer comme, en utilisant une méthode de contrôleur supprimer:
function delete($id) {
$list = Todolist::find($id);
return view('lists.delete')->with('list',$list);
}
et delete.blade.php correspondant:
{!! Form::open(array('route' => array('lists.destroy', $list->id), 'method' => 'delete', 'class' => 'form')) !!}
<button type="submit" class="btn btn-sucess">Delete</button>
<button type="submit" onClick="history.back()">Cancel</button>
{!! Form::close() !!}
puis aussi une méthode de destruction du contrôleur
function destroy($id) {
$list = new Todolist;
//$list->delete($id);
echo
return view('lists.confirmdelete')\Redirect::route('lists.index')
->with('message', 'Task deleted!');
////how to aply 5 second sleep for showing message 'Task deleted!'???
}
et confirmdelete.blade.php
<h1>{{ $list->name }}</h1>
<p>{{ $list->description }}</p>
<p><b>{{ $message }}</b></p>
Comment faire, qu'il affiche "Tâche supprimée!" message par exemple 5 secondes, puis deux étapes pour revenir à une action d'index?
ARIF MAHMUD RANA
Dans votre destroy
méthode, vous devez faire un petit tweek et également utiliser un peu de js
Changer la destroy
méthode en
function destroy($id) {
$list = new Todolist;
$data = [
'name' => $list->name,
'description' => $list->description,
];
$list->delete($id);
$data['message'] = 'Task deleted!';
$data['redirectRoute'] = route('lists.index');
return view('lists.confirmdelete', $data);
}
et en confirmdelete.blade.php
<h1>{{ $name }}</h1>
<p>{{ $description }}</p>
<p><b>{{ $message }}</b></p>
<script>setTimeout(function(){ window.location.href = '{{ $redirectRoute }}' }, 5000);</script>