質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

Q&A

1回答

1441閲覧

Deleteメソッドの使用用途について

ruuuu

総合スコア167

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

0グッド

0クリップ

投稿2019/12/10 06:58

Laravelチュートリアルにて、分からない点があり質問させて貰いました。
疑問点のある箇所は「8.削除処理の作成」の部分です。
以下、はソースコードとなります。

(task.blade.php)

@extends('layouts.app') @section('content') <div class="panel-body"> <!-- バリデーションエラーの表示に使用するエラーファイル--> @include('common.errors') <!-- タスク登録フォーム --> <form action="{{ route('tasks.store') }}" method="POST" class="form-horizontal"> @csrf <div class="form-group"> <!-- タスク名 --> <div class="col-sm-6"> <label for="task" class="col-sm-3 control-label">Task</label> <input type="text" name="task" id="task" class="form-control"> </div> </div> <!-- タスク登録ボタン --> <div class="form-group"> <div class="col-sm-offset-3 col-sm-6"> <button type="submit" class="btn btn-primary">Save</button> </div> </div> </form> <!-- この下に登録済みタスクリストを表示 --> <!-- 表示領域 --> @if (count($tasks) > 0) <div class="panel panel-default"> <div class="panel-heading">タスクリスト</div> <div class="panel-body"> <table class="table table-striped task-table"> <!-- テーブルヘッダ --> <thead> <th>タスク</th> </thead> <!-- テーブル本体 --> <tbody> @foreach ($tasks as $task) <tr> <td class="table-text"> <div>{{ $task->task }}</div> </td> <td> <!-- 削除ボタン --> <form action="{{ route('tasks.destroy',$task->id) }}" method="POST"> <!--@method('delete')--> @csrf <button type="submit" class="btn btn-danger">削除</button> </form> </td> </tr> @endforeach </tbody> </table> </div> </div> @endif <!-- ここまでタスクリスト --> </div> @endsection

(web.php)

<?php /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { return view('welcome'); }); Route::resource('tasks', 'TasksController')->only([ 'index', 'store', 'edit', 'update', 'destroy' ]); Auth::routes(); Route::get('/home', 'HomeController@index')->name('home');

(TaskController.php)

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Validator; use App\Task; class TasksController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $tasks = Task::orderBy('deadline', 'asc')->get(); // ddd($tasks); return view('tasks', [ 'tasks' => $tasks ]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // // バリデーション $validator = Validator::make($request->all(), [ 'task' => 'required|max:255', ]); // バリデーション:エラー if ($validator->fails()) { return redirect() ->route('tasks.index') ->withInput() ->withErrors($validator); } // Eloquentモデル $task = new Task; $task->task = $request->task; $task->deadline = '2019-10-21'; $task->comment = 'todo!'; $task->save(); // ルーティング「tasks.index」にリクエスト送信(一覧ページに移動) return redirect()->route('tasks.index'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $task = Task::find($id); $task->delete(); return redirect()->route('tasks.index'); } }

task.blade.phpの削除処理部分に、@method('delete')を指定していますが、この部分はform内において、postで送信はされるもののdeleteメソッドとして処理をしたい(Taskcontrollerのdestroyメソッドに処理をさせたい)といった点から、このように指定を行なっているといった認識で正しいのでしょうか?
理解が曖昧な部分があります為、どなたか教えて頂けましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2019/12/10 07:04

編集2019/12/10 07:05
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問