我为“CRUD”方法做了控制器来控制数据库。一切正常,我可以创建,更新和查看任何记录,但当我试图删除(销毁)记录时,它无法删除该特定记录。
public function destroy(blogs $blogs)
{
$blogs->delete();
return redirect()->route('post.index')
->with('success','success create blog');
}
<table class="table table-striped
table-hover
table-borderless
table-primary
align-middle">
<thead class="table-light">
<caption>Table Name</caption>
<tr>
<th>No</th>
<th>Post name</th>
<th>details</th>
<th>Image Name</th>
<th>Action</th>
</tr>
</thead>
<tbody class="table-group-divider">
@foreach ($data as $item)
<tr class="table-primary" >
<td scope="row">{{$item->id}}</td>
<td>{{$item->name}}</td>
<td>{{$item->description}}</td>
<td ><img style="width:10%" src="/images/{{$item->img}}" alt="" srcset=""></td>
<td>
<form action="{{route('post.destroy',$item->id)}} " method="post">
@csrf
@method('DELETE')
<button type="submit" class='btn btn-danger'>delete</button>
</form>
<a href="{{route('post.edit',$item->id)}}" class="btn btn-primary">Edit</a>
<a href="{{route('post.show',$item->id)}}" class="btn btn-info">Show</a>
</td>
</tr>
@endforeach
</tbody>
<tfoot>
</tfoot>
</table>
{!! $data->links() !!}
</div>
我已经检查了数据库用户权限,但它仍然是一样的。
4条答案
按热度按时间xxls0lw81#
只需在控制器方法中将$blogs更改为$blog
同时检查型号名称;destroy(Blogs $blog)-〉first(Blogs)应该是您的模型名称。
vdgimpew2#
1.你必须检查你的路由和流,我发现它是错误的,就像你想删除博客,但调用post.destroy方法,你必须检查你正在工作的资源(博客或帖子)。最佳实践=〉让事情变得简单,并在命名约定上下功夫。
1.你必须使用你的模型,应该是'博客'而不是'博客',检查你的模型名称,并相应地导入你的模型。
1.首先确保你的Model绑定工作正常,使用dd($blog)检查它,如果它显示了你的数据,那么就可以了。
1.如果Model绑定无法正常工作,并且您没有使用Route::resource('blogs',Your controller);然后在路由中使用id,如
然后在控制器的destroy方法中:
yeotifhr3#
你必须先从博客表中找到记录,然后删除记录。
5vf7fwbs4#
你应该做: