🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

Q&A

解決済

1回答

2454閲覧

laravelのCRUD削除機能について

haniwamk3

総合スコア12

PHP

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

0グッド

0クリップ

投稿2019/10/23 14:12

編集2019/10/23 15:03

お世話になります。
LARAVELチュートリアルのTODOアプリの削除機能を付けたいのですが、Routeの書き方が分かりません。
[the delete method is not supported for this route]が表示されます。

folders/{id}/tasks

LARAVEL

1@foreach($folders as $folder) 2 <a 3 href="{{ route('tasks.index', ['id' => $folder->id]) }}" 4 class="list-group-item {{ $current_folder_id === $folder->id ? 'active' : '' }}" 5 > 6 {{ $folder->title }} 7 </a> 8 <form action="{{ route('tasks.index', ['id' => $current_folder_id]) }}" method=post> 9 {{ csrf_field() }} 10 <input type="hidden" name="_method" value="delete"> 11 <input type="submit" name="" value="削除する"> 12 </form> 13 14 @endforeach

FolderController

LARAVEL

1 public function delete(int $id) 2{ 3 // 選ばれたフォルダを取得する 4 $current_folder = Folder::find($id); 5 6 $current_folder->delete(); 7 // 一覧にリダイレクト 8 return redirect()->route('tasks.index', [ 9 'id' => $current_folder->id, 10 ]); 11} 12 13

web.php

LARAVEL

1Route::get('/folders/{id}/tasks', 'TaskController@index')->name('tasks.index'); //todoリスト一覧画面のURL 2 3Route::get('/folders/create', 'FolderController@showCreateForm')->name('folders.create'); //フォルダの新規作成用画面のURL 4Route::post('/folders/create', 'FolderController@create'); //フォルダ登録処理画面のURL

見にくいですが、よろしくお願いします。

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

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

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

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

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

m.ts10806

2019/10/23 14:14

せめてマークダウンをきちんと使いましょう。 コードと要件が伝わればなんとかなるものもコードがマークダウン使われてないとそれだけで離脱する人もいます
haniwamk3

2019/10/23 14:25

申し訳ありません。 ご指摘、ありがとうございます。
m.ts10806

2019/10/23 21:23

細かいのですが基本的には言語名を表記するのでPHPで良いと思います(コードハイライトに関係します)
guest

回答1

0

ベストアンサー

インデントは揃えましょう。
@foreach~@endforeachが揃ってません。<form></form>もです。
// 選ばれたフォルダを取得する は不思議なところにありますし、publicの前にスペースが入ってます。

https://www.hypertextcandy.com/laravel-tutorial-create-folder/

あたりが勉強しているサイトでしょうか。

書き方としては

Route::delete('/folders/{id}/tasks', 'FolderController@delete');

という感じになるかと思います。

投稿2019/10/23 21:00

編集2019/10/23 21:01
takepan1973

総合スコア821

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

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

haniwamk3

2019/10/24 01:08

回答ありがとうございます。 ご指摘ありがとうございます。 帰宅後に修正します。 参考にしているサイトはその通りです。 Folder Controller内のpublic function deleteの記述は問題ないですかね? 選択されたfolderを削除する様に記述したんですが…????
takepan1973

2019/10/24 01:12

申し訳ありませんが、「Routeの書き方」にのみフォーカスして回答しているので、それ以外の点については確認していません。
haniwamk3

2019/10/24 01:14

その場合は新しく質問を作成した方が良いのでしょうか?
takepan1973

2019/10/24 01:16

タイトルは他にも通用しそうですが、今回の質問はそこで区切っても良いかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問