我试图通过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>
Run Code Online (Sandbox Code Playgroud)
路线
Route::post('/status/{statusId}/delete', [
'uses' => '\Dashboard\Http\Controllers\StatusController@deleteStatus',
'as' => 'status.delete',
'middleware' => ['auth'],
]);
Run Code Online (Sandbox Code Playgroud)
调节器
public function deleteStatus(Request $request, $statusId)
{
Auth::user()->statuses()->delete($statusId);
return redirect()->route('home')->with('success', 'Post deleted.');
}
Run Code Online (Sandbox Code Playgroud)
注意:当dd($statusId)它确实为我正在删除的状态提供了正确的ID.这部分确实有效.
toi*_*ing 12
这在 Laravel 5.6 中使用 destroy 方法是可能的:
从文档:
但是,如果您知道模型的主键,则可以删除模型而不检索它。为此,请调用 destroy 方法
App\Model::destroy(1);
Run Code Online (Sandbox Code Playgroud)
或删除一个 id 数组:
App\Model::destroy([1, 2, 3]);
Run Code Online (Sandbox Code Playgroud)
或通过查询:
App\Model::where('active', 0)->delete();
Run Code Online (Sandbox Code Playgroud)
不幸的是,Eloquent构建器不支持将id传递给delete.
相反,你必须首先找到模型,然后调用delete它:
$request->user()->statuses()->findOrFail($statusId)->delete();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10479 次 |
| 最近记录: |