プログラミング学習182日目〜Laravelでアプリ作成 削除機能実装〜

データの削除自体は簡単で、ルーティングでコントローラーのdestroyメソッドを指定して​コントローラはこれを書くだけで削除はできます。

    public function destroy($id)
   {
       $fukui = Fukui::find($id);
       $fukui->delete();
       return redirect('fukui/index');

   }

もちろんviewで削除したいデータをここにPOSTする必要はありますが、基本的には難しいことは特にありません。

ですが、削除ボタンをクリックしたあとの確認画面の理解にちょっと手こずりました。というのもこの確認画面はJavaScripを使うから。

<form method="POST" action="{{ route('fukui.destroy',['id' => $fukui->id])}}" id="delete_{{$fukui->id}}">
   @csrf
   <a href="#" class="btn btn-danger" data-id="{{ $fukui->id }}" onclick="deletePost(this);">削除する</a>
</form>

<script>

function deletePost(e) {
   'use strict';
   if(window.confirm('本当に削除していいですか?')) {
       document.getElementById('delete_' + e.dataset.id).submit();
   }
}

</script>

久々のJavaScript。完全に忘れています。e.dataset.id、こんなんやったかな?JavaScriptの参考書を見てみるとかすかに記憶が蘇ってきます。
ほぼほぼ忘れてはいますが、見ればなんとなく思い出せるので、少しだけでもやった値打ちはあるかと思います。でなければ、全く理解できないと思いますので。

そんなわけで、機能面に関しては一通りできましたので、あとは使いやすいようにページネーションと検索機能をつけようと思います。




この記事が気に入ったらサポートをしてみませんか?