Laravel 學習

刪除資料表的資料的方法,用model的object,呼叫delete()的方法,即可達到目地。

Controller

app\Http\Controllers\TodoController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Posts;

class TodoController extends Controller
{

    public function destroy(Request $request, Posts $posts)
    {
        $posts->delete();
        return redirect("/todo");
    }
}

 

Route

routes\web.php

Route::get('/todo', 'TodoController@index');
Route::post('/todo', 'TodoController@update');
Route::delete('/todo/{posts}', 'TodoController@destroy');

 

特別要注意的是{posts},你這邊如果是叫posts,那麼你在controller的destroy的第2個參數的變數名,就要叫做$posts, 否則沒有辦法刪除

 

它不用傳id,它預設裡面就已經有id的值了

 

View

resources\views\todo\index.blade.php

@foreach ($posts as $post)
    

      {{ $post->id .".". $post->post_name }}      

        {{ csrf_field() }}         {{ method_field('DELETE') }}              
   

@endforeach

要讓它變成http protocol 是delete的方法,就要帶入這個{{ method_field('DELETE') }}

 

 

T.E的Laravel 發表在 留言 (0) 人氣 (29)
分享給朋友
網址

想對外分享這則貼文嗎?運用網址更方便呦~

關於
專門記錄學習Laravel的過程與經歷,與突破困難點時的解決方法,和專家的經驗分享、各種知識點,整個學習Laravel的過程,就是自我提昇能力的過程。
OnceHit© 2020
載入中...