Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 链接到laravel 5中的路由错误_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 链接到laravel 5中的路由错误

Php 链接到laravel 5中的路由错误,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有这条路线: Route::resource('users', 'UserController'); Route::get('/users/create', 'UserController@create'); 控制器的功能是: public function index() { $users=User::all(); return View('users.index',compact('users')); } 我在index.blade.p

我有这条路线:

    Route::resource('users', 'UserController');
    Route::get('/users/create', 'UserController@create');
控制器的功能是:

 public function index()
  {
    $users=User::all();
    return View('users.index',compact('users'));    

 }
我在
index.blade.php
中有这段代码,其中显示了错误

<p>{{ link_to_route('users.create', 'Add new user') }}</p>
{{link_to_route('users.create','addnewuser')}

错误消息是:

未定义路由[users.create]。(观点: C:\xampp\htdocs\larapro\resources\views\users\index.blade.php)


如果您希望视图中提到的路线起作用,可以这样添加它

Route::get('users/create', ['as' => 'users.create', 'uses' =>'UserController@create']);
尽管应该注意,
Route::resource()
为您提供索引、创建、编辑、存储、显示、更新和删除路由。因此,您正在编写第二次声明路由的冗余代码

它有效地替换了您以前使用
route::resource

请参阅Laravel关于此的文档:

如果在项目文件夹中运行
php artisan route:list
,您应该会看到为上面声明的资源“用户”创建的路由列表


或者,删除声明为route::resource的第二条路由。如果希望视图中提到的路由正常工作,您可以这样添加它

Route::get('users/create', ['as' => 'users.create', 'uses' =>'UserController@create']);
尽管应该注意,
Route::resource()
为您提供索引、创建、编辑、存储、显示、更新和删除路由。因此,您正在编写第二次声明路由的冗余代码

它有效地替换了您以前使用
route::resource

请参阅Laravel关于此的文档:

如果在项目文件夹中运行
php artisan route:list
,您应该会看到为上面声明的资源“用户”创建的路由列表


或者,删除声明为route::resource的第二条路由。这一行是多余的,应该删除:

Route::get('/users/create', 'UserController@create');
它会导致您描述的问题,因为

  • Route::resource()
    已经注册了一个与此类似的路由,并自动将其命名为
    用户。创建
    
    
  • 当您为
    /users/create
    注册路由时,它将用新路由替换该URL的现有路由
  • 你的新路线还没有命名
  • 由于新路由将替换现有路由(名为
    users.create
    ),因此现在没有具有该名称的路由

  • 因此,当您尝试在那里生成链接时,您将得到未定义的
    路由[users.create]异常。

    这一行是多余的,应该删除:

    Route::get('/users/create', 'UserController@create');
    
    它会导致您描述的问题,因为

  • Route::resource()
    已经注册了一个与此类似的路由,并自动将其命名为
    用户。创建
    
    
  • 当您为
    /users/create
    注册路由时,它将用新路由替换该URL的现有路由
  • 你的新路线还没有命名
  • 由于新路由将替换现有路由(名为
    users.create
    ),因此现在没有具有该名称的路由

  • 因此,当您尝试在那里生成链接时,您将得到未定义的
    路由[users.create]
    异常。

    确定。成功了。但是为什么我不需要为这个
    {{link_to_route('users.edit','edit',array($user->id),array('class'=>'btn btn info'))}
    确定。成功了。但是为什么我不需要这个
    {{link\u to\u route('users.edit','edit',array($user->id),array('class'=>'btn btn info'))}