Модель фабрики Laravel не найдена

Я пытаюсь создать новый проект со всем, чтобы узнать больше о laravel, сейчас я создаю модели, миграции и семена с фабрикой и сталкиваюсь с этой проблемой:

Модель пользователя

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Model implements Authenticatable
{

  protected $table = 'user'; //name of the table in database
  protected $primaryKey = 'Id'; //Primary Key of the table

  /**
   * Relations between tables
   */
   public function GetLoginInfo()
   {
     return $this->hasMany('App\Models\LoginInfo', 'UserId');
   }

   public function getStatus()
   {
     return $this->belongsTo('App\Models\AccountStatus');
   }

}

Модель аккаунта

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class AccountStatus extends Model
{
  protected $table = 'account_status'; //name of the table in database
  protected $primaryKey = 'Id'; //primary Key of the table
  public $timestamps = false; //true if this table have timestaps
  /**
   * Relations between tables
   */
   public function GetUsers()
   {
     return $this->hasMany('App\Models\Users', 'StatusId');
   }
}

Семенной файл:

<?php

use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
  /**
   * Run the database seeds.
   *
   * @return void
   */
  public function run()
  {
    factory(App\Models\User::class, 5)->create();
  }
}

заводской файл:

<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */

//Factory for Account Status table
$factory->define(App\Models\AccountStatus::class, function (Faker\Generator $faker) {
    return [
      'Description' => $faker->word,
    ];
});

//Factory for user table
$factory->define(App\Models\User::class, function (Faker\Generator $faker) {
    return [
      'Username' => $faker->unique()->userName,
      'Password' => bcrypt('test'),
      'Email' => $faker->unique()->safeEmail,
      'Name' => $faker->name,
      'StatusId' => Factory(App\Models\AccountStatus::class)->create()->id,
    ];
});

при попытке убрать семя с ремесленника:

  [Symfony\Component\Debug\Exception\FatalErrorException]
  Class 'App\Models\Model' not found

уже пытаюсь дамп-автозагрузку композитора, оптимизирую и у меня есть модели в папке в App\Models.

Семена с фабрикой для статуса учетной записи работают, но когда я пытаюсь запустить оба (состояние учетной записи, то пользователь), у меня есть эта ошибка) кто-нибудь знает почему? и является ли хорошей практикой иметь весь заводской код в 1 файле?

1 ответ

Решение

В вашем User Модель, которую вы расширяете Model класс, тогда как вы должны расширить Authenticatable псевдоним класса.

Так что ваши User Модель будет выглядеть так:

class User extends Authenticatable
Другие вопросы по тегам