代码之家  ›  专栏  ›  技术社区  ›  Gufran Hasan

在Laravel 5.4中找不到FatalThrowableError类“app\models\patient”

  •  1
  • Gufran Hasan  · 技术社区  · 6 年前

    我使用命令创建了一个模型 php artisan make:model Patient . 命令创建一个名为 Patient 在应用程序文件夹中。

    模型患者:

    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Patient extends Model
    {
        //
        public function getPurchaseOrder(){
            return "Hello World";        
        }
    }
    

    在控制器患者控制器中:

    namespace App\Http\Controllers;
    class PatientController extends Controller
    {
      protected $patientModel;
    
    public function __construct(Request $request, PatientInterface $patient)
        {
            parent::__construct($request);        
            $this->patientModel = new \App\Patient();
        }
    
       public function test(){
         echo $this->patientModel->getPurchaseOrder();
      }
    
    }
    

    它工作得很好。问题是当我创建一个名为 Models 在应用程序文件夹中移动患者模型,然后调用模型函数,它会给出一个错误:

    FatalThrowableError Class 'App\Models\Patient' not found
    

    任何帮助都将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Liam Hammett    6 年前

    当您将一个类移动到另一个目录时,作曲家将用 PSR-4 standard ,还必须更新类的命名空间以匹配。

    namespace App\Models;
    

    此外,在运行make命令时,可以在其中包含一个命名空间,以自动将其放入具有正确命名空间的目录中:

    php artisan make:model Models\\Patient