Class App\Http\Controllers\User does not exist?

加入代码

Route::resource('users', 'UsersController');

访问页面 /users/1 报错:

ReflectionException
Class App\Http\Controllers\User does not exist

为何这个地方会去访问User这个控制器,按说不应该去访问UsersController对应的控制器吗?

而且如果直接访问/users页面,那么访问的控制器又是正常的。。。不知道这个地方是哪里没有写对吗?

附言 1  ·  1年前

目前web.php文件完整代码如下:

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
 */

Route::get('/', 'StaticPagesController@home');
Route::get('/home', 'StaticPagesController@home')->name('home');
Route::get('/about', 'StaticPagesController@about')->name('about');
Route::get('/help', 'StaticPagesController@help')->name('help');

Route::get('signup', 'UsersController@create')->name('sign');
Route::resource('users', 'UsersController');

UsersController代码如下:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UsersController extends Controller
{
    public function create()
    {
        return view('users.create');
    }

    public function show(User $user)
    {
        return view('users.show', compact('user'));
    }
}
NickDeng
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

提示你

Class App\Http\Controllers\User does not exist

那就看看show方法中是否是使用了User这个Class。

你的问题很可能是因为,UserController声明了命名空间App\Http\Controllers,然后在该控制器中直接使用了UserModel。


<?php

namespace App\Http\Controllers;

use App\Models\User;

·
·

在namespace 下面,添加上use App\Models\User;即可。

建议阅读一下PHP命名空间的基础知识。

http://php.net/manual/zh/language.namespac...

1年前 评论
讨论数量: 4

提示你

Class App\Http\Controllers\User does not exist

那就看看show方法中是否是使用了User这个Class。

你的问题很可能是因为,UserController声明了命名空间App\Http\Controllers,然后在该控制器中直接使用了UserModel。


<?php

namespace App\Http\Controllers;

use App\Models\User;

·
·

在namespace 下面,添加上use App\Models\User;即可。

建议阅读一下PHP命名空间的基础知识。

http://php.net/manual/zh/language.namespac...

1年前 评论

提示你

Class App\Http\Controllers\User does not exist

那就看看show方法中是否是使用了User这个Class。

你的问题很可能是因为,UserController声明了命名空间App\Http\Controllers,然后在该控制器中直接使用了UserModel。


<?php

namespace App\Http\Controllers;

use App\Models\User;

·
·

在namespace 下面,添加上use App\Models\User;即可。

建议阅读一下PHP命名空间的基础知识。

http://php.net/manual/zh/language.namespac...

1年前 评论

@相惜恨离 蠢了蠢了,我以为是找错Controller了,才发现是User类没有导入。。。。

1年前 评论

@相惜恨离 正解,也遇到了同样的问题按照该方法解决

1年前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
浓缩过后的精华
Laravel Nova 后台管理面板文档的中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会