用 laravel 删除 mysql
delete mysql with laravel
我需要通过提交 post 从数据库中删除信息。
但它更新并没有删除信息。
路线:
Route::get('/home', 'HomeController@index')->name('home');
Route::post('/home/linha/insert', 'HomeController@insert')->name('home');
Route::post('/home/linha/remove','HomeController@deletar');
控制器:
public function deletar(Request $request)
{
$id = $request->input('id');
DB::delete('delete from linha where id = :id' ,['id' => $id]);
return redirect('home');
}
查看:
<div class="col-md-9" style="margin-top:20px;">
<div class="col-md-9"><?php echo "$linha->msg"; ?></div>
@if($linha->iduser == auth()->user()->id)
<div class="col-md-3"><form action="/home/linha/remove" method="post">
{{ csrf_field() }}
<input type="hidden" name="id" id="id" value="{{$linha->id}}">
<button type="submit" class="btn btn-danger btn-sm">
<span class="glyphicon glyphicon-remove"></span> Remover
</button>
</form>
</div>@endif
</div>
我想一定是这样的:
DB::delete('delete from linha where id = ?' ,[$id]);
它只是语法。
或者,您可以使用此行:
DB::table('linha')->where('id', $id)->delete();
你可以试试这个
public function deletar(Request $request){
$id = $request->input('id');
if( \DB::table('linha')->where('id', $id)->delete() ){
// deleted successfully
}
return redirect('home');
}
有多种方法可以删除数据库中的记录(您的查询中没有语法错误)
按照这条语句进行调试
您应该使用 dd(DB::getQueryLog());
并获得原始查询并在数据库中手动执行此原始查询
第一种方式(eloquent)
$linha= linha::find($id);
$linha->delete();
第二种方式
DB::table('linha')->where('id', '=', $id)->delete();
第三种方式
DB::delete('SQL QUERY HERE');
有关详细信息,请阅读 laravel delete manual
试试这个:它也在 Laravel 文档中显示。
$deleted = DB::delete('delete from linha where id = ?',[$id]);
这里是 link 文档 ( https://laravel.com/docs/5.7/database )。
或者您可以使用 laravel eloquent "linha"
$request->YourModel()->findOrFail($id)->delete();
Laravel有两种方式:
- 软删除 - 更新 deleted_at 列。
- 运行 删除 table 的特定 id 的查询,我认为这对你有用。
我需要通过提交 post 从数据库中删除信息。 但它更新并没有删除信息。
路线:
Route::get('/home', 'HomeController@index')->name('home');
Route::post('/home/linha/insert', 'HomeController@insert')->name('home');
Route::post('/home/linha/remove','HomeController@deletar');
控制器:
public function deletar(Request $request)
{
$id = $request->input('id');
DB::delete('delete from linha where id = :id' ,['id' => $id]);
return redirect('home');
}
查看:
<div class="col-md-9" style="margin-top:20px;">
<div class="col-md-9"><?php echo "$linha->msg"; ?></div>
@if($linha->iduser == auth()->user()->id)
<div class="col-md-3"><form action="/home/linha/remove" method="post">
{{ csrf_field() }}
<input type="hidden" name="id" id="id" value="{{$linha->id}}">
<button type="submit" class="btn btn-danger btn-sm">
<span class="glyphicon glyphicon-remove"></span> Remover
</button>
</form>
</div>@endif
</div>
我想一定是这样的:
DB::delete('delete from linha where id = ?' ,[$id]);
它只是语法。
或者,您可以使用此行:
DB::table('linha')->where('id', $id)->delete();
你可以试试这个
public function deletar(Request $request){
$id = $request->input('id');
if( \DB::table('linha')->where('id', $id)->delete() ){
// deleted successfully
}
return redirect('home');
}
有多种方法可以删除数据库中的记录(您的查询中没有语法错误)
按照这条语句进行调试
您应该使用 dd(DB::getQueryLog());
并获得原始查询并在数据库中手动执行此原始查询
第一种方式(eloquent)
$linha= linha::find($id);
$linha->delete();
第二种方式
DB::table('linha')->where('id', '=', $id)->delete();
第三种方式
DB::delete('SQL QUERY HERE');
有关详细信息,请阅读 laravel delete manual
试试这个:它也在 Laravel 文档中显示。
$deleted = DB::delete('delete from linha where id = ?',[$id]);
这里是 link 文档 ( https://laravel.com/docs/5.7/database )。
或者您可以使用 laravel eloquent "linha"
$request->YourModel()->findOrFail($id)->delete();
Laravel有两种方式:
- 软删除 - 更新 deleted_at 列。
- 运行 删除 table 的特定 id 的查询,我认为这对你有用。