簡體   English   中英

用laravel刪除mysql

[英]delete mysql with laravel

我需要通過提交帖子從數據庫中刪除信息。 但是它會更新而不刪除信息。

路線:

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>

有多種刪除數據庫中記錄的方法(查詢中沒有語法錯誤)

遵循此語句進行調試

您應該使用dd(DB::getQueryLog()); 您將獲得原始查詢並在數據庫中手動執行此原始查詢

第一種方式(雄辯)

$linha= linha::find($id);
$linha->delete();

第二路

DB::table('linha')->where('id', '=', $id)->delete();

第三種方式

DB::delete('SQL QUERY HERE');

有關更多信息,請閱讀laravel刪除手冊

嘗試一下:Laravel文檔中也顯示了它。

$deleted = DB::delete('delete from linha where id = ?',[$id]);

這是文檔的鏈接( https://laravel.com/docs/5.7/database )。

或者您可以使用laravel雄辯的“ linha”

$request->YourModel()->findOrFail($id)->delete();

我認為一定是這樣的:

 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');
}

Laravel有兩種方法:

  1. 軟刪除-更新Deleted_at列。
  2. 運行查詢以刪除表的特定ID,我認為這可以為您工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM