Класс FatalThrowableError 'App \ Models \ Patient' не найден в laravel 5.4 - PullRequest
0 голосов
/ 24 мая 2018

Я создал модель с помощью команды php artisan make:model Patient.Команда создает модель с именем Patient в папке приложения.

В модели пациента:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Patient extends Model
{
    //
    public function getPurchaseOrder(){
        return "Hello World";        
    }
}

В контроллере PatientController:

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 Ответ

0 голосов
/ 24 мая 2018

Когда вы перемещаете класс в другой каталог, чтобы он загружался композитором со стандартом PSR-4 , вы также должны обновить пространство имен класса для соответствия.

namespace App\Models;

Кроме того, когда вы запускаете команду make, вы можете включить в нее пространство имен, чтобы автоматически поместить его в каталог с правильным пространством имен:

php artisan make:model Models\\Patient
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...