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

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

新規登録して質問してみよう
ただいま回答率
85.48%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

Laravel

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

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Blade

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

Q&A

1回答

1405閲覧

Laravel リダイレクト時に持たせた変数をビューで表示させたい

shunta80

総合スコア96

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

Laravel

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

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Blade

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

0グッド

0クリップ

投稿2022/02/01 09:16

前提・実現したいこと

リダイレクト時にコントローラーで持たせた変数(エラーメッセージ)をbladeのビューで画面に表示させたい

発生している問題・エラーメッセージ

メッセージがURLに表示されてしまいます。

該当のソースコード

FolderController.php
下記コードのif文で条件を満たさない時はエラーメッセージを表示させたい

public function delete(Folder $id, Task $task_id){ $folders = Auth::user()->folders()->get(); $tasks=$id->tasks()->get(); $folder=Auth::user()->folders()->first(); $count=count($tasks); $msg='消せません'; if ($count===0) { $id->delete(); } else{ // どちらの書き方もNG return redirect()->route('tasks.index', [ 'id' => $folder,'msg'=>'消せません']); return redirect()->route('tasks.index', [ 'id' => $folder],$msg); } return redirect()->route('tasks.index', [ 'id' => $folder ]); }

index.blade.php

@if(isset($msg)) {{-- どちらも不可 --}} <p>{{session('msg')}}</p> <p>{{$msg}}</p> @endif

web.php

Route::delete('/folders/{id}/delete', 'FolderController@delete')->name('delete');

補足情報(FW/ツールのバージョンなど)

Laravel8

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

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

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

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

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

guest

回答1

0

セッションで渡すか、
削除処理自体を非同期処理で行って結果とメッセージをレスポンスとして返してJavaScriptで表示したほうが良いと思います。

投稿2022/02/01 09:26

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問