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

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

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

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

解決済

Laravel Auth ログイン後のリダイレクト先を動的に変更したい。

scamee
scamee

総合スコア21

Laravel

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

2回答

0評価

0クリップ

483閲覧

投稿2022/03/17 21:49

編集2022/03/24 18:23

閲覧ありがとうございます。
Laravelの初学者です。
現在、Laravelの自作アプリケーションを作成しながら勉強をしています。

環境

  • ハードウェア環境
項目情報
OSmacOS Monterey(12.1)
ハードウェアMacBook Air
チップApple M1
  • ソフトウェア環境
項目情報
PHP バージョン8.0
Laravel バージョン8.75
MySQLバージョン5.7.34
  • 開発環境
項目情報
言語html,css(bootstrap5),js,php(Laravel8)
エディターvscode
ログイン機能Laravel/ui

やりたいこと

Laravel Auth ログイン後のリダイレクト先を動的に変更したい。
参考:Laravel Auth ログイン後のリダイレクト先をデフォルトから変更する リメイク編

例) 下のようなことがやりたいのですが、エラーが出てできません。

php

$date = Carbon::now()->format('Y-m-j') public const HOME = '/show' . $date;

よろしくお願いします。

本体

php

<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; use App\Facades\Calendar; class LoginController extends Controller { use AuthenticatesUsers; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = RouteServiceProvider::HOME; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest')->except('logout'); } }

php

<?php namespace App\Providers; use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Http\Request; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider { /** * The path to the "home" route for your application. * * This is used by Laravel authentication to redirect users after login. * * @var string */ public const HOME = '/show'; /** * The controller namespace for the application. * * When present, controller route declarations will automatically be prefixed with this namespace. * * @var string|null */ // protected $namespace = 'App\\Http\\Controllers'; /** * Define your route model bindings, pattern filters, etc. * * @return void */ public function boot() { $this->configureRateLimiting(); $this->routes(function () { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); Route::pattern('date', '^[0-9]{4}-[0-9]{2}-[0-9]{1,2}$'); }); } /** * Configure the rate limiters for the application. * * @return void */ protected function configureRateLimiting() { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); }); } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806

2022/03/17 23:03 編集

どのようなエラーでしょう。 HOMEという定数でなくても良いなら幾らでも方法はありそうに思います。
phper.k

2022/03/18 04:51 編集

使用している ui のバージョンを記載してください
scamee

2022/03/18 08:40

使用している ui のバージョンは "laravel/ui": "^3.4" です。
scamee

2022/03/18 08:44

エラーですが、 「Too few arguments to function App\Http\Controllers\HomeController::show(), 0 passed in /Applications/MAMP/htdocs/Prototype_diary/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54 and exactly 1 expected」 です。 web.php 「Route::get('/show/{date?}', [HomeController::class, 'show'])->where('date', '^[0-9]{4}-[0-9]{2}-[0-9]{1,2}$')->name('show');」 コントローラー 「public function show($date){....}」

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Laravel

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