Я кодирую пакет laravel, который взаимодействует с моделью пользователя.
Когда я тестирую его в браузере, все в порядке, потому что App \ User существует, но когда я тестирую свой плагин, App\User
не существует.
Так что это не удается.Я заменил все ссылки с App\User
на Illuminate\Foundation\Auth\User
, но мои отношения потерпели неудачу, мои заводы не работают. Например,
, фабрика пользователей:
$factory->define(\Illuminate\Foundation\Auth\User::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
'firstname' => $faker->firstname,
'lastname' => $faker->lastName,
];
});
Не будет работать с \Illuminate\Foundation\Auth\User::class
, поскольку он не имеет всех настраиваемых полей: email_verified_at
, firstname
, lastname
и т. д.
Итак, мои тесты не пройдены:
11) Xoco70\LaravelTournaments\Tests\SingleEliminationWPrelimTest::it_can_generate_prelim_tree_with_12_fighters
Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1 table users has no column named email_verified_at (SQL: insert into "users" ("name", "email", "email_verified_at", "password", "remember_token", "firstname", "lastname", "updated_at", "created_at") values (user, jennifer86@example.org, 2018-10-11 09:14:17, $2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm, KZmf72JC9D, Buster, Hackett, 2018-10-11 09:14:17, 2018-10-11 09:14:17))
или мои отношения:
public function users()
{
return $this->belongsToMany(\Illuminate\Foundation\Auth\User::class, 'competitor', 'championship_id')
->withPivot('confirmed')
->withTimestamps();
}
Не сработает ни один.
Как мне управлять?