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

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

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

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

PHP

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

Q&A

1回答

522閲覧

サクセスメッセージで動的に表示内容を変えたいです。

Mason

総合スコア14

Laravel

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

PHP

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

0グッド

0クリップ

投稿2021/10/06 23:45

前提・実現したいこと

サクセスメッセージで動的に表示内容を変えたいです。
一つ目のif文でチェックして空白なら次へ、
空白じゃなかったら"$message.が更新されました。"としたいです。

二つ目も同様にチェックし、
"$message.が更新されました。"としたいです。

両方更新された場合には、間に”と”を入れて両方更新されたことを伝える様にしたいです。

該当のソースコード

public function update(Request $request, Account $account) { $request->validate([ 'user_account_id' => ['integer'], 'post_account_id' => ['integer'] ]); try { $message = ''; if ($request->get('user_account_id')) { $account->user_account_id = $request->get('user_account_id'); } if ($request->get('post_account_id')) { $account->post_account_id = $request->get('post_account_id'); } $account->save(); return redirect()->back()->with('success', $message.'が更新されました。'); } catch (\Exception $e) { logs()->error($e); return redirect()->back()->with('failure', $e->getMessage()); } }

試したこと

ここに問題に対して試したことを記載してください。

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

laravel8

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

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

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

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

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

guest

回答1

0

あまりイケてる書き方ではないかもしれないですが、こちらでどうですか?

php

1try { 2 // 更新されたidのメッセージを配列に入れるために準備 3 $message_array = []; 4 5 if ($request->get('user_account_id')) { 6 $account->user_account_id = $request->get('user_account_id'); 7 $message_array[] = 'user_account_id_message'; 8 } 9 10 if ($request->get('post_account_id')) { 11 $account->post_account_id = $request->get('post_account_id'); 12 $message_array[] = 'post_account_id_message'; 13 } 14 15 $account->save(); 16 17 if (count($message_array) === 1) { 18 // 配列の要素が一つ(片方しか更新されていない)の場合は配列の1つ目の要素を表示 19 $message = $message_array[0]; 20 } else { 21 // 配列の要素が二つ以上(両方更新されている)の場合は各要素を"と"で結合する 22 $message = implode('と', $message_array); 23 } 24 25 return redirect()->back()->with('success', $message.'が更新されました。'); 26}

投稿2021/10/12 03:06

m055001

総合スコア72

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問