Laravel
ウェブ職人のためのPHPフレームワーク
本家
https://laravel.com/
git
https://github.com/laravel
動画チュートリアル(英語)
https://laracasts.com/
※前スレ
【PHP】Laravel【フレームワーク】 Part.9
https://medaka.5ch.net/test/read.cgi/php/1636499781/
【PHP】Laravel【フレームワーク】 Part.10
https://medaka.5ch.net/test/read.cgi/php/1647325775/
【PHP】Laravel【フレームワーク】 Part.11
https://medaka.5ch.net/test/read.cgi/php/1658553311/
【PHP】Laravel【フレームワーク】 Part.12
■ このスレッドは過去ログ倉庫に格納されています
2022/08/31(水) 18:53:51.77ID:???
303nobodyさん
2023/01/18(水) 13:16:39.61ID:??? 確かに少ないファイルをアップするだけで終わるのが楽だけど
そこまで小規模開発ってあんまり無い気がする
いくら小規模でもデータベースは使うし認証もあるしで
結局はLaravelを導入しておいた方が作り方が決まってるし引き継ぎもやりやすい気がする
そこまで小規模開発ってあんまり無い気がする
いくら小規模でもデータベースは使うし認証もあるしで
結局はLaravelを導入しておいた方が作り方が決まってるし引き継ぎもやりやすい気がする
304nobodyさん
2023/01/18(水) 20:14:10.56ID:??? >>303
例えばキャンペーンの申し込み用フォームとか、
ランディングページで使う程度のフォームが必要になる場合がある。
DBって言ってもSQLiteで足りる程度ではあるし、
PODで書けばそんなに手間はかからない。
そんな状況下でLaravel導入して環境構築するのは躊躇するわ
例えばキャンペーンの申し込み用フォームとか、
ランディングページで使う程度のフォームが必要になる場合がある。
DBって言ってもSQLiteで足りる程度ではあるし、
PODで書けばそんなに手間はかからない。
そんな状況下でLaravel導入して環境構築するのは躊躇するわ
305nobodyさん
2023/01/18(水) 20:50:27.96ID:??? LP用のフォームだけなら外部サービス使うかなぁ
わざわざそれだけのためにphpの動くサーバ使うのめんどい
わざわざそれだけのためにphpの動くサーバ使うのめんどい
306nobodyさん
2023/01/18(水) 20:58:31.81ID:??? Googleフォーム使うのが定番だけど、意外と自由度低いからなぁ
LPなんてただでさえ胡散臭いのに、ドメインが変わるのも気になる
LPなんてただでさえ胡散臭いのに、ドメインが変わるのも気になる
307nobodyさん
2023/01/19(木) 07:08:57.66ID:??? ちんちん!ソユシュッ!シュッ!シュッ!
308nobodyさん
2023/01/19(木) 07:15:43.00ID:??? Netlifyとかだとフォーム用のツール用意してくれてるしCORSも気にしなくてよかったはず
スパム対策とかおまかせになっちゃうけど、正直ペライチにそんなに工数もらえないから便利に使わせてもらってる
スパム対策とかおまかせになっちゃうけど、正直ペライチにそんなに工数もらえないから便利に使わせてもらってる
309nobodyさん
2023/01/21(土) 16:56:32.71ID:??? eloquentで子テーブルを一括で登録/更新/削除したい場合は皆どうしてるの?
例えば部屋に複数の写真が紐つく場合とか、部屋の編集画面で写真の追加や削除なんかをすると思うけど、方法として紐つく子レコードを一括削除して一括で登録はしたくない。
操作してない写真のタイムスタンプはそのままにしたいので。
編集画面から送信される削除フラグや子レコードのpkとかを使って1件ずつ処理する感じなのかな?
saveManyとかで複数登録なんかは出来そうだけど削除まではしてくれないよね?
ちなみに物理削除を想定してます。
例えば部屋に複数の写真が紐つく場合とか、部屋の編集画面で写真の追加や削除なんかをすると思うけど、方法として紐つく子レコードを一括削除して一括で登録はしたくない。
操作してない写真のタイムスタンプはそのままにしたいので。
編集画面から送信される削除フラグや子レコードのpkとかを使って1件ずつ処理する感じなのかな?
saveManyとかで複数登録なんかは出来そうだけど削除まではしてくれないよね?
ちなみに物理削除を想定してます。
310nobodyさん
2023/01/22(日) 13:39:24.27ID:??? デリートインサートが楽
311nobodyさん
2023/01/22(日) 16:53:42.57ID:??? 結局は一件ずつ処理してるわけだし、シンプルに書いた方がわかりやすいよ
312nobodyさん
2023/01/22(日) 21:09:44.80ID:??? 多対多の場合はsyncとかがあるから同じような便利な方法がないかな?とおもったんだけどなさそうなのね。
ご意見ありがとうでした。
ご意見ありがとうでした。
313nobodyさん
2023/01/25(水) 10:23:32.16ID:??? ちんちん!シュッシュッ!シュッ!
314nobodyさん
2023/02/03(金) 08:23:23.48ID:Wgp21ZPs 求人情報を見ているphpの場合はLaravelがほぼ必須になっているので現在学習中です。
Youtubeのハンズオンで実際に作りながらやっています。
ログイン認証が自動で実装されるのですが、Yahoo!のようにユーザーが使用しているデバイス、IPアドレスがいつもとは変わった時だけ2段階認証にするのは簡単に出来ますか?
素のphpならuserテーブルにユーザーエージェント情報、ログイン日時を保管して置きログインの際に比較してユーザーエージェント情報が異なればメールでパスコードを送信してログインに続いてパスコードを入力させれば良いしあまり手間もかからないです。
Youtubeのハンズオンで実際に作りながらやっています。
ログイン認証が自動で実装されるのですが、Yahoo!のようにユーザーが使用しているデバイス、IPアドレスがいつもとは変わった時だけ2段階認証にするのは簡単に出来ますか?
素のphpならuserテーブルにユーザーエージェント情報、ログイン日時を保管して置きログインの際に比較してユーザーエージェント情報が異なればメールでパスコードを送信してログインに続いてパスコードを入力させれば良いしあまり手間もかからないです。
315nobodyさん
2023/02/03(金) 08:44:11.98ID:??? >>314
ユーザー毎に接続元IPをDBに保持できるだろうけど企業内PCからのアクセスはプロキシのIPアドレスでみんな同じになって個人判別誤検知しそう
ユーザー毎に接続元IPをDBに保持できるだろうけど企業内PCからのアクセスはプロキシのIPアドレスでみんな同じになって個人判別誤検知しそう
316nobodyさん
2023/02/03(金) 09:56:52.08ID:??? ちょっといじればできる
317nobodyさん
2023/02/03(金) 12:39:25.65ID:??? 普通にCookieで妥協してるわ
318nobodyさん
2023/02/03(金) 12:55:47.82ID:Wgp21ZPs319nobodyさん
2023/02/03(金) 13:50:19.22ID:yRJ5366x symfonyのほうが良さそうなのに。
320nobodyさん
2023/02/03(金) 21:51:14.97ID:??? cookieかlocalstorageでも使えばやりたいことは出来るけど
そもそも二段階認証の実装の方が大変なのではw
そもそも二段階認証の実装の方が大変なのではw
321nobodyさん
2023/02/03(金) 22:37:05.59ID:??? で、Laravel10は今月でるのか?全然話題にならないが
322nobodyさん
2023/02/04(土) 13:57:09.62ID:??? ついこの前9が出たというのに
こんなに頻繁なアップデートいらんだろ
こんなに頻繁なアップデートいらんだろ
323nobodyさん
2023/02/04(土) 14:42:39.36ID:??? 正直進化させる所が殆ど無くなってきていて最近は開発者の自己満みたいな新規要素が多すぎる気がしなくもない
それなら、もっと分かりやすくするとかそっち方面で改良して欲しいなぁ
それなら、もっと分かりやすくするとかそっち方面で改良して欲しいなぁ
324nobodyさん
2023/02/04(土) 19:09:14.53ID:??? デフォでGoogle認証以外の2段階認証入れてほしいわ
325nobodyさん
2023/02/04(土) 21:02:18.27ID:??? わかりました
326nobodyさん
2023/02/04(土) 23:28:25.42ID:??? 9が出てから1年経ってないんだね
328nobodyさん
2023/02/07(火) 09:02:55.79ID:??? 予定では今日だね
検証しなきゃ
検証しなきゃ
329nobodyさん
2023/02/07(火) 10:13:00.97ID:??? 8.1が前提になってるけど、AWSとかクラウドで動作させること前提なのかな?
汎用的なレンサバだと対応していないのもあるだろうし
汎用的なレンサバだと対応していないのもあるだろうし
330nobodyさん
2023/02/07(火) 10:46:43.06ID:??? そもそもレンサバだとLaravel動かすのきつい
コマンド叩いてもメモリ不足とか怒られたりするみたいだし
8.1強制含めて素人お断り感が強くなった
コマンド叩いてもメモリ不足とか怒られたりするみたいだし
8.1強制含めて素人お断り感が強くなった
331nobodyさん
2023/02/07(火) 10:55:26.70ID:??? エックスサーバーなら一番下のプランですら仮想6Core、メモリ8GBもあるから十分じゃない?
332nobodyさん
2023/02/07(火) 11:12:11.26ID:??? レンサバはPHPのmemory_limitの上限が低いのでは?
同居してる数かなり多いだろうし、簡単に上げられないだろう
同居してる数かなり多いだろうし、簡単に上げられないだろう
333nobodyさん
2023/02/07(火) 11:31:54.57ID:??? エックスサーバーであればmemory_limitは変更できるよ
他のレンサバも変更できるものもあると思う
他のレンサバも変更できるものもあると思う
335nobodyさん
2023/02/07(火) 12:33:23.71ID:??? リリース遅れたりするから、要望うんぬんよりとりあえずスケジュール守るか告知はしてほしいw
336nobodyさん
2023/02/08(水) 05:31:58.68ID:??? 来週に変更だってさ
https://twitter.com/laravelnews/status/1622602950517440517
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/laravelnews/status/1622602950517440517
https://twitter.com/5chan_nel (5ch newer account)
337nobodyさん
2023/02/08(水) 08:14:59.76ID:??? 9も遅れたし、順調にいかないねぇ
338nobodyさん
2023/02/08(水) 10:32:54.35ID:??? むしろ2~3年に1回のペースでいいんだが
339nobodyさん
2023/02/08(水) 10:39:58.06ID:??? 最近どのフレームワークもサポート期限短いからなー。
リリースして2年しか保証しないのが普通になってる?
リリースして2年しか保証しないのが普通になってる?
340nobodyさん
2023/02/08(水) 10:51:54.07ID:??? 短いよね。出すんならサポートもしっかりやってほしいよ
341nobodyさん
2023/02/08(水) 11:27:09.94ID:??? >>340
一番サポート期間が長いと思ってた.Netも、Coreになってから短くなっちゃったし。今一番長期で使えるフレームワークはなんだろう。
一番サポート期間が長いと思ってた.Netも、Coreになってから短くなっちゃったし。今一番長期で使えるフレームワークはなんだろう。
342nobodyさん
2023/02/08(水) 12:04:09.11ID:??? phpのメジャーなバージョンと同じくらいのサイクルにしてほしいっす
343nobodyさん
2023/02/08(水) 16:20:14.76ID:??? まあ、今の時代にそれは無理なんだろ
344nobodyさん
2023/02/08(水) 17:40:08.84ID:??? 10かw
9ですら触って来てない(仕事は6のままだし)からどうでもいいけどw
11は予定だと2024のQ1らしいから今後は一年おきぐらいか
9ですら触って来てない(仕事は6のままだし)からどうでもいいけどw
11は予定だと2024のQ1らしいから今後は一年おきぐらいか
346nobodyさん
2023/02/08(水) 22:45:52.82ID:???347nobodyさん
2023/02/15(水) 05:06:37.10ID:???348nobodyさん
2023/02/15(水) 08:50:16.51ID:???349nobodyさん
2023/02/15(水) 13:41:42.32ID:??? リリースが1年毎になったし、その都度最新バージョンにしてねって事だろうな
350nobodyさん
2023/02/15(水) 16:27:45.01ID:??? 動き出してるプロジェクトなら、頻繁にバージョンアップできないのにな
351nobodyさん
2023/02/15(水) 16:54:29.68ID:??? 結局は途中でバージョンアップなんて今まで一度もしたことない
よっぽどセキュリティ的な問題があればするしかないだろうけど
(log4jみたいなの)
よっぽどセキュリティ的な問題があればするしかないだろうけど
(log4jみたいなの)
352nobodyさん
2023/02/15(水) 16:58:36.68ID:??? 上にも書いてる人いるけど、6辺りでも十分だからな
10にすると劇的に速度がアップするわけでもないし、
セキュリティに問題なければ古くても大丈夫だわな
10にすると劇的に速度がアップするわけでもないし、
セキュリティに問題なければ古くても大丈夫だわな
353nobodyさん
2023/02/16(木) 10:46:38.98ID:??? 問題がないってのの判断基準聞かれると困るから、新規導入は最新にするけどね
354nobodyさん
2023/02/16(木) 13:15:01.09ID:??? 新規導入の学習コスト、既存プログラム流用の難しさを考えると
旧バージョンの方が安定感あっていいと思うけどなぁ
旧バージョンの方が安定感あっていいと思うけどなぁ
355nobodyさん
2023/02/16(木) 13:22:16.06ID:??? そろそろこんな質問が出てくるかも
Laravelってどのバージョンがオススメですか?
Laravelってどのバージョンがオススメですか?
356nobodyさん
2023/02/16(木) 20:35:56.23ID:??? 6でも全然OK
PHPのバージョンが選べない環境ならそれに合わせるしかない
新規プロジェクトなら素直に最新バージョンにしておいた方が良いとは思うが
自分で色々解決出来ないなら、新規でも前のバージョンを検討した方がいいだろうな
従来のプロジェクトの追加開発案件でバージョンアップしろと言われないなら俺ならしないw
PHPのバージョンが選べない環境ならそれに合わせるしかない
新規プロジェクトなら素直に最新バージョンにしておいた方が良いとは思うが
自分で色々解決出来ないなら、新規でも前のバージョンを検討した方がいいだろうな
従来のプロジェクトの追加開発案件でバージョンアップしろと言われないなら俺ならしないw
357nobodyさん
2023/02/16(木) 20:49:20.59ID:??? まだまだPHP7多いからね。PHP7.4のOSサポートはまだあるし
358nobodyさん
2023/02/17(金) 00:59:01.27ID:??? ゆうて純粋にLaravelのバージョンが新しすぎて困ることは知識不足以外なくね?
ちょっとコード追えば分かる感じ
むしろ新しいバージョンを導入出来ないとき、PHPのほうが問題になってることが多い気がする
PHPが厳格になってきててライブラリとかがエラー吐くようになったとかそういうパターンが典型的な気はする
ちょっとコード追えば分かる感じ
むしろ新しいバージョンを導入出来ないとき、PHPのほうが問題になってることが多い気がする
PHPが厳格になってきててライブラリとかがエラー吐くようになったとかそういうパターンが典型的な気はする
359nobodyさん
2023/02/17(金) 10:34:23.06ID:??? 来月10対応の初心者本が出るみたいだな
今度は基礎をじっくり教える内容を願う
いきなりAWSやらDockerやら言われても
環境用意する段階で詰むからな
今度は基礎をじっくり教える内容を願う
いきなりAWSやらDockerやら言われても
環境用意する段階で詰むからな
360nobodyさん
2023/02/18(土) 00:31:22.30ID:CwZ6ja8y PHP8のmatch式とかnulllsafe演算子とかコンストラクタのプロパティプロモーションとかガンガン使ってるわ
もう戻りたくない
もう戻りたくない
361nobodyさん
2023/02/18(土) 09:51:52.84ID:??? それ使うとどう便利なの?
362nobodyさん
2023/02/18(土) 12:09:46.88ID:CwZ6ja8y >>361
単純にシンタックスシュガーでおまじないが減るのと
三項演算子とかmatch式とかnullsafe演算子とかLaravel Collectionとか駆使すると
「変数 = 式」でほとんどの処理を表現できるから可読性が上がることじゃないかな
ifとかswitchとかなるべく使わない方がバグも減るし読みやすくなる
単純にシンタックスシュガーでおまじないが減るのと
三項演算子とかmatch式とかnullsafe演算子とかLaravel Collectionとか駆使すると
「変数 = 式」でほとんどの処理を表現できるから可読性が上がることじゃないかな
ifとかswitchとかなるべく使わない方がバグも減るし読みやすくなる
363nobodyさん
2023/02/18(土) 17:51:17.80ID:??? でも、ifとかswitchとかわかりやすくないか?他の言語でも使うし
364nobodyさん
2023/02/18(土) 18:46:15.70ID:??? switch/caseは他の言語とは別もんだぞ
ゆるい比較が元になってるから使う場所を選ぶ
いちいちゆるい比較で良いか考えるのが嫌だから、できるだけ使わない人が多かった
ゆるい比較が元になってるから使う場所を選ぶ
いちいちゆるい比較で良いか考えるのが嫌だから、できるだけ使わない人が多かった
365nobodyさん
2023/02/18(土) 18:57:06.21ID:2MCUwbWU >>363
他の言語のいい仕様を取り込んでる訳だからその指摘にはあたらない。
ifだけを使って深くネストすると分かりづらいコードになるし、条件ごとに長い処理をダラダラ書いていく悪いコーディングに人を導く。
phpのswitchは緩い比較だからそもそもバグの危険性を持ってる。
matchはケースごとに1文しか処理を書けないからifやswitchみたいに中にダラダラ処理を書けない。
じゃあどうするかを考えれば自然に責務の重くない読みやすいコーディングに人を導いてくれる。
同じ変数への代入を何度も記述したり、再代入しまくる悪いコードも減る。
Laravelのドキュメントとか見ても良いコーディングをしていることが分かるはず。
他の言語のいい仕様を取り込んでる訳だからその指摘にはあたらない。
ifだけを使って深くネストすると分かりづらいコードになるし、条件ごとに長い処理をダラダラ書いていく悪いコーディングに人を導く。
phpのswitchは緩い比較だからそもそもバグの危険性を持ってる。
matchはケースごとに1文しか処理を書けないからifやswitchみたいに中にダラダラ処理を書けない。
じゃあどうするかを考えれば自然に責務の重くない読みやすいコーディングに人を導いてくれる。
同じ変数への代入を何度も記述したり、再代入しまくる悪いコードも減る。
Laravelのドキュメントとか見ても良いコーディングをしていることが分かるはず。
366nobodyさん
2023/02/18(土) 20:28:22.74ID:??? そこまで言うならmatch使ってみるわ
367nobodyさん
2023/02/20(月) 12:28:39.24ID:??? ChatGPTにswitchとmatchどちらがいいか聞いてみたら>>365のような返答が帰ってきた 最近のAI凄いな
369nobodyさん
2023/02/21(火) 12:28:57.37ID:??? アサルトシンクロンはいつもスピリット蘇生でお世話になっている
370nobodyさん
2023/02/21(火) 14:29:47.31ID:??? Laravel10まだ試せてない。問題ありそう?
371nobodyさん
2023/02/21(火) 21:52:42.62ID:??? 公式はLaravel10の更新してないな
372nobodyさん
2023/02/24(金) 11:03:52.75ID:??? Laravelってアメリカとか海外でも使われてたりするの?
373nobodyさん
2023/02/24(金) 11:13:31.43ID:??? 日本人が作ってるとでも思っているのか
374nobodyさん
2023/02/24(金) 11:41:02.41ID:??? 誰もそんな事書いてないが
トレンドの話をしてるんだよ
トレンドの話をしてるんだよ
375nobodyさん
2023/02/24(金) 11:48:22.35ID:??? 質問して他人にお願いしてる立場のくせに偉そうだな
376nobodyさん
2023/02/24(金) 12:19:22.08ID:???378nobodyさん
2023/02/24(金) 12:54:58.77ID:??? たしかにLaravelダメすぎだな
https://i.imgur.com/kh6OKpa.jpg
https://i.imgur.com/kh6OKpa.jpg
380nobodyさん
2023/02/24(金) 19:00:38.58ID:??? まあphp自体伸びる理由があまりないしな
Laravelはよくキープしてるよ
Laravelはよくキープしてるよ
381nobodyさん
2023/02/24(金) 19:51:59.29ID:??? アメリカのトレンド検索したら、Pythonが圧倒的だった
382nobodyさん
2023/02/24(金) 21:53:37.25ID:??? シェアは普通にphpが圧倒的だと思うぞ
https://trends.builtwith.com/framework
https://trends.builtwith.com/framework
383nobodyさん
2023/02/25(土) 05:10:01.18ID:??? ちんちん!シュッ!シュッ!九州!
384nobodyさん
2023/03/01(水) 09:22:50.37ID:2EEqTc50 ゥララヴォゥ
385nobodyさん
2023/03/02(木) 13:31:14.48ID:??? バックエンドだけLaravel使ってる人います?
Laravel側でjsonを生成して、フロントで受け取るみたいな
Laravel側でjsonを生成して、フロントで受け取るみたいな
386nobodyさん
2023/03/02(木) 14:35:37.21ID:??? いくらでもいるだろ
387nobodyさん
2023/03/02(木) 14:59:52.77ID:??? Laravelでvue使っても大概そうなるやろ
389nobodyさん
2023/03/02(木) 20:45:55.82ID:??? そいやそうだね
390nobodyさん
2023/03/02(木) 21:53:27.63ID:??? 今のプロジェクトはSPAで一応Laravelで一つだけのページは返すけど
基本はAPIの為に使っている
フロントはvueでやってる
基本はAPIの為に使っている
フロントはvueでやってる
391nobodyさん
2023/03/03(金) 09:49:42.71ID:??? やっぱLaravel使いはvueが多いよね
ReactやAngulerよりも使いやすいのかな
ReactやAngulerよりも使いやすいのかな
392nobodyさん
2023/03/03(金) 09:52:59.21ID:??? 皆がvue使ってるから選択している安直な理由だと思う
393nobodyさん
2023/03/03(金) 12:27:29.04ID:??? ららぼ〜、実際に使ってみようかと思っているんだが、メジャーバージョン
アップが頻繁すぎて、ちょっと怖いでござるよ。
先輩諸氏はそのへんどうしているのござるか?
アップが頻繁すぎて、ちょっと怖いでござるよ。
先輩諸氏はそのへんどうしているのござるか?
394nobodyさん
2023/03/03(金) 12:50:24.36ID:??? Laravelは今でも開発が続けられておるでござる。新しい機能や改善を含んだメジャーバージョンアップが頻繁に行われているのじゃ。
しかし、アップデートすることで新しい機能や改善を取り入れることができるのじゃから、先輩方はちゃんとバージョンアップを行っているのじゃ。
ただし、アップデートにはリスクもあるから、事前にテストを行って問題が起きないか確認することが大切じゃ。
LaravelにはLTS(Long-Term Support)版もあって、安定したバージョンを選ぶこともできるのじゃ。
だから、プロジェクトによっては新しい機能を必要とせず、安定性を重視する場合はLTS版を使うこともできるのじゃ。
でも、新しい機能を取り入れたい場合は、定期的にバージョンアップを行って最新の機能を活用することも大切じゃ。
しかし、アップデートすることで新しい機能や改善を取り入れることができるのじゃから、先輩方はちゃんとバージョンアップを行っているのじゃ。
ただし、アップデートにはリスクもあるから、事前にテストを行って問題が起きないか確認することが大切じゃ。
LaravelにはLTS(Long-Term Support)版もあって、安定したバージョンを選ぶこともできるのじゃ。
だから、プロジェクトによっては新しい機能を必要とせず、安定性を重視する場合はLTS版を使うこともできるのじゃ。
でも、新しい機能を取り入れたい場合は、定期的にバージョンアップを行って最新の機能を活用することも大切じゃ。
395nobodyさん
2023/03/03(金) 12:56:47.19ID:??? LTSなんてもうねーよw
397nobodyさん
2023/03/03(金) 14:08:33.98ID:??? 問題はどれに復活するかだな
今後のバージョンに復活するのか、既存のバージョンになるのか
個人的には8をLTSにしてほしいが
今後のバージョンに復活するのか、既存のバージョンになるのか
個人的には8をLTSにしてほしいが
398nobodyさん
2023/03/03(金) 19:03:15.96ID:??? 復活するなら次の11か最新の10じゃね?
過去のバージョンは流石に無さそう
過去のバージョンは流石に無さそう
399nobodyさん
2023/03/13(月) 11:55:32.17ID:??? 質問書こうとしたらChatGPTで解決してしまったのですが、一応書いときます。。(以下質問)
ちょっとルーティングで出来る方法があるかが分からないので、教えてください
・web.phpでresourceをgroupの中に入れたい
・resourceのeditで(URLで)idを指定して表示させたい。例「customers/1/edit」
・しかしcontrollerのfunctionの引数にクラスを指定している(idから自動的にモデルがfindされるLaravelの仕様を利用)
<変更前>
[web.php]
Route::get('customers/change', 'Customer\CustomerController@change'); // こういうのがいっぱいあってresourceもろともgroupに入れたい
Route::resource('customers', 'Customer\CustomerController');
[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}
<こうしたい>
[web.php]
Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController');
}
[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}
ですが、後者だとURL「customers/1/edit」となったとき、not foundになります。
「customers」や「customers/create」等は正常に表示されます。
php artisan route:listでは
「customers/{customer}/edit」が「customers/{}/edit」になってしまいます。
groupの外にresourceの記述を出せば解決するのですが、
何かありそうなので、もし知っていたら教えてもらえますでしょうか。
ちょっとルーティングで出来る方法があるかが分からないので、教えてください
・web.phpでresourceをgroupの中に入れたい
・resourceのeditで(URLで)idを指定して表示させたい。例「customers/1/edit」
・しかしcontrollerのfunctionの引数にクラスを指定している(idから自動的にモデルがfindされるLaravelの仕様を利用)
<変更前>
[web.php]
Route::get('customers/change', 'Customer\CustomerController@change'); // こういうのがいっぱいあってresourceもろともgroupに入れたい
Route::resource('customers', 'Customer\CustomerController');
[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}
<こうしたい>
[web.php]
Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController');
}
[CustomerController]
public function edit(Customer $customer){~~諸々の処理~~}
ですが、後者だとURL「customers/1/edit」となったとき、not foundになります。
「customers」や「customers/create」等は正常に表示されます。
php artisan route:listでは
「customers/{customer}/edit」が「customers/{}/edit」になってしまいます。
groupの外にresourceの記述を出せば解決するのですが、
何かありそうなので、もし知っていたら教えてもらえますでしょうか。
400nobodyさん
2023/03/13(月) 11:55:55.29ID:??? 以下ChatGPTの回答。idをcustomerにしたら(cotrollerも変更なしで)OKでした。
問題の原因は、Route::resource で指定されたルーティングパラメーター名が customer であるためです。
Laravel は、Route::resource で自動的にルーティングパラメーターを id に設定します。
したがって、ルーティングパラメーター名を id に変更すれば、期待通りの動作が可能になります。
以下は、修正したコードです。
Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController')->parameters(['' => 'id']);
});
[CustomerController]
public function edit(Customer $id){~~諸々の処理~~}
Route::resource の第二引数に parameters メソッドを使用して、ルーティングパラメーター名を id に変更します。
そして、edit メソッドの引数も $id に変更します。
これで、URL customers/1/edit での編集ページへのアクセスが可能になります。
問題の原因は、Route::resource で指定されたルーティングパラメーター名が customer であるためです。
Laravel は、Route::resource で自動的にルーティングパラメーターを id に設定します。
したがって、ルーティングパラメーター名を id に変更すれば、期待通りの動作が可能になります。
以下は、修正したコードです。
Route::group(['prefix' => 'customers', 'as' => 'customers.'], function () {
Route::get('change', 'Customer\CustomerController@change');
Route::resource('/', 'Customer\CustomerController')->parameters(['' => 'id']);
});
[CustomerController]
public function edit(Customer $id){~~諸々の処理~~}
Route::resource の第二引数に parameters メソッドを使用して、ルーティングパラメーター名を id に変更します。
そして、edit メソッドの引数も $id に変更します。
これで、URL customers/1/edit での編集ページへのアクセスが可能になります。
401nobodyさん
2023/03/13(月) 14:12:38.36ID:??? 長いからChatGPTに要約させてくれるか
402nobodyさん
2023/03/13(月) 16:04:12.97ID:??? 「絶対にガンダムに例えて要約しろ」って言ったのに例えてくれなかったです。
しかも微妙にズレてる気はしなくもない。
↓回答
質問者がLaravelでルーティングを設定する上で、group化されたresourceルートでidを指定してeditアクションを呼び出したいが、
URLにおいてidを指定するとnot foundになってしまうという問題が発生しています。
これは、ルーティングパラメーター名がcustomerであるために起こる問題であり、idに変更することで解決できます。
具体的には、Route::resourceの第二引数にparametersメソッドを使ってidを指定し、
editメソッドの引数も$idに変更する必要があります。
これにより、URL customers/1/edit での編集ページへのアクセスが可能になります。
しかも微妙にズレてる気はしなくもない。
↓回答
質問者がLaravelでルーティングを設定する上で、group化されたresourceルートでidを指定してeditアクションを呼び出したいが、
URLにおいてidを指定するとnot foundになってしまうという問題が発生しています。
これは、ルーティングパラメーター名がcustomerであるために起こる問題であり、idに変更することで解決できます。
具体的には、Route::resourceの第二引数にparametersメソッドを使ってidを指定し、
editメソッドの引数も$idに変更する必要があります。
これにより、URL customers/1/edit での編集ページへのアクセスが可能になります。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【高市首相】ガソリン補助金の縮小を表明 12月から5円ずつ引き上げ ★2 [ぐれ★]
- 【野球】巨人 清水隆行氏が1軍打撃コーチ就任へ 松井秀喜監督、高橋由伸ヘッドと黄金期の「外野トリオ」がそろい踏み [冬月記者★]
- 「サンデー毎日」来春に休刊へ 日本でもっとも古い総合週刊誌の一つ [征夷大将軍★]
- 【外食】500円だった天丼が730円...「てんや」深刻な客離れ 「庶民の味方」も値上げ続いて2か月連続で客数約1割減 [ぐれ★]
- 中国製自動車席巻で理念曲げるEU 日本も「不利を被る可能性」 [蚤の市★]
- 新給付、年収119万円以下は年5千円案 ★2 [首都圏の虎★]
- 日本人妊婦、出産の際にわからせ棒を10本膣に突っ込まれる他国にはない伝統儀式に苦しむ「ハンマーで叩いて無理矢理ねじこむ」 [485187932]
- 【速報】GMOハッカーのサイトに不正アクセスしたやつ、全員開示されるwwwwwwwwwwwwwwwwwwwwwwww [398059782]
- 【高市悲報】10月30日、何も起こらないで終わる・・・・・・ [419865925]
- 【高市悲報】慌てるな。パニック状態になるな。 [419865925]
- 【悲報】スクリプト、朝になっても稼働中。これ本格的にもう駄目だなw [305926466]
- (´・ω・`)おはよ