【问题标题】:Class '\App\Models\Admin\Admin' not found in Laravel 5在 Laravel 5 中找不到类 \'\\App\\Models\\Admin\\Admin\'
【发布时间】:2022-08-11 03:02:13
【问题描述】:

我是刚加入公司的新员工。 我从 git 收到项目并设置 .env 文件。我跑了:

php artisan serve

我打开登录页面尝试登录,出现了错误。 该项目已部署到服务器。 所以我确定我的设置有问题,而不是代码。

这是我第一次看到运行 5.5 版本的 Laravel。

我附上了代码和设置以防万一。

我尝试过的:

  • php artisan config:cache
  • php artisan config:clear
  • composer dump-autoload
  • 已检查 config/auth.php
  • 检查 Admin.php 命名空间

app\\Models\\Admin\\Admin.php

namespace App\\Models\\Admin;

use Illuminate\\Notifications\\Notifiable;
use Illuminate\\Foundation\\Auth\\User as Authenticatable;

class Admin extends Authenticatable
{
...
}

登录控制器.php

namespace App\\Http\\Controllers\\Auth;

use App\\Http\\Controllers\\Controller;
use Illuminate\\Foundation\\Auth\\AuthenticatesUsers;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = \'/home\';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware(\'guest\')->except(\'logout\');
    }
}

配置\\auth.php

\'providers\' => [
    \'admin\' => [
        \'driver\' => \'eloquent\',
        \'model\' => App\\Models\\Admin\\Admin::class,
        \'table\' => \'admin\',
    ],
],
  • 该模型的路径是app/Models/Admin,文件名为Admin.php?旁注:你不需要admin 配置中的table 键,因为它使用的是使用模型的\'eloquent\'驱动程序(它定义了它自己使用的表)
  • App/Modles/Admin 中的 Admin.php。并感谢您的建议!
  • 该文件夹应该是app 而不是App(默认情况下)......还有Models 不是Modles? (假设您错字了您的评论)
  • 哦,Modles 是一个错字。文件夹名称为app。我认为命名空间是AppI saw this link.我很抱歉没有答案,因为这是我第一次。
  • 不用担心,只是想尽可能多地排除这种错误的可能性

标签: php laravel


【解决方案1】:

我自己找到了答案。 这个项目的代码似乎已经在 mac 中工作过。 我在Windows环境中。

结果,项目结构被忽略了。 我的项目结构...

gitrepo

┖ 项目1

┖ 项目2

┖ 型号

该项目在linux方法中有一个符号链接, 它似乎根本不起作用,因为我的环境是 Windows。

删除现有的 linux 符号链接文件。 我设置了一个新的 Windows 符号链接。

【讨论】:

    【解决方案2】:

    在我的情况下,我更新了模块文件中命名空间的默认位置

    之前:namespace App\Models;

    之后:namespace App\Models\Admin;

    【讨论】:

      猜你喜欢
      • 2021-03-11
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 2021-10-15
      • 2021-12-28
      • 2017-06-07
      • 2017-10-04
      相关资源
      最近更新 更多