我正在尝试通过 id 删除单个记录。相反,它会删除该表中的所有记录。
这是我的代码:
看法
<form role="form" action="{{ route('status.delete', ['statusId' => $status->id]) }}" method="post">
<button type="submit" class="btn btn-default"><i class="fa fa-times"></i> Delete</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
</form>
航线
Route::post('/status/{statusId}/delete', [
'uses' => '\Dashboard\Http\Controllers\StatusController@deleteStatus',
'as' => 'status.delete',
'middleware' => ['auth'],
]);
控制器
public function deleteStatus(Request $request, $statusId)
{
Auth::user()->statuses()->delete($statusId);
return redirect()->route('home')->with('success', 'Post deleted.');
}
注意: 当我 dd($statusId)
时,它确实为我正在删除的状态提供了正确的 ID。所以那部分确实有效。
原文由 Sam 发布,翻译遵循 CC BY-SA 4.0 许可协议
不幸的是,Eloquent 构建器不支持将 id 传递给
delete
。相反,您必须先找到模型,然后调用
delete
就可以了: