Dewa Aditya
Dewa Aditya

Reputation: 79

Eloquent delete not working in laravel 5.6

This is my code :

Route

Route::resource('ItemName', 'ItemNameController');

Controller

public function destroy(ItemName $itemName)
{
    $itemName->delete();
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

View

<form action="{{ route('ItemName', $ItemName->id) }}" method="post">
    @csrf
    @method("DELETE")
    <input type="submit" class="btn btn-danger btn-sm" href="{{ $ItemName- 
    >id }}" value="Delete" onclick="return confirm('Are You Sure To Delete 
    This Item? #{{ $ItemName->inc }} ')">
</form>

The problem is that code doesn't work to delete the item in table, any help? Thanks

Upvotes: 0

Views: 5563

Answers (2)

Nirali
Nirali

Reputation: 1786

Change your view code like this

<form action="{{ route('ItemName', $ItemName->id) }}" method="post" onSubmit="return confirm('Are You Sure To Delete 
    This Item? #{{ $ItemName->inc }} ')">
    @csrf
    @method("DELETE")
    <button class="btn btn-danger btn-sm">Delete</button>
</form>

Or also you can set action like this action="url('/ItemName/'. $ItemName->id)"

Upvotes: 1

Mehravish Temkar
Mehravish Temkar

Reputation: 4365

Try this in your controller

public function destroy($id)
{
    ItemName::destroy($id); 
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

or you could try

public function destroy($id)
{
    $itemName = ItemName::find($id);
    $itemName ->delete(); 
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

Upvotes: 6

Related Questions