【问题标题】:Laravel route always not defined although it is declared尽管声明了 Laravel 路由,但始终未定义
【发布时间】:2019-08-09 09:01:26
【问题描述】:

我尝试向我的用户添加一个职位并将其设置在 users_positions 表中。

我与 auth 用户一起创建了一个新查询。当它重新路由到根 URL 时,它总是返回为

InvalidArgumentException 路线 [/] 未定义。

控制器

protected function create(array $data)
{

    $id = User::create([
        'firstname' => $data['firstname'],
        'middlename' => $data['middlename'],
        'lastname' => $data['lastname'],
        'email' => $data['email'],
        'username' => $data['username'],
        'password' => Hash::make($data['password']),
    ]);

    DB::table('users_positions')->insert([
        [
            'user_id' => $id->id,
            'position_desc' => $data['position'],
            'primary' => "1",
        ]
    ]);
    return redirect()->route('/')
                    ->with('success', 'Successfully added a user account');
}

路线

Auth::routes();
Route::get('/home', 'HomeController@index')->name('name');

Route::get('/', function () {
    return view('incident-reports.index');
})->middleware('auth');

查询成功,但路由仍未定义。 当我尝试手动转到根 URL http://127.0.0.1:8000 时。它会起作用的。

我的计划是在添加用户和 user_position 之后,它将返回根 URL 并在成功或错误时提示警报。

【问题讨论】:

标签: laravel laravel-5.8


【解决方案1】:

如果要使用路径重定向,请将其作为参数发送到redirect() 方法

return redirect('/');

route() 方法是通过别名重定向到路由

路线

Route::get('/', function () {
    return view('incident-reports.index');
})->middleware('auth')->alias('root');

重定向

return redirect()->route('root');

【讨论】:

    【解决方案2】:

    改变这一行:

    return redirect()->route('/')
                    ->with('success', 'Successfully added a user account');
    

    到这里

    return redirect()->to('/')
                    ->with('success', 'Successfully added a user account');
    

    route() 需要一个路由名称作为参数。 '/' 是一个网址

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-29
      • 2022-11-03
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      • 2020-08-16
      • 2016-11-26
      相关资源
      最近更新 更多