Я использую библиотеку Toddish / Verify для Laravel, так как она включает 99% того, что мне нужно для моего проекта. Все, что мне нужно, это добавить некоторые поля.
Я добавил их в перенос, и я хочу добавить их также в массовое создание:
use Toddish\Verify\Models\User as VerifyUser; class User extends VerifyUser { public function __construct () { array_merge ($this->fillable, array( 'salutation', 'title', 'firstname', 'lastname', 'phonenumber', 'mobilenumber' )); } }
Однако, когда я запускаю свой тест создания:
public function testUserCreation () { $user = User::create( [ 'username' => 'testusername', 'email' => 'email@test.com', 'password' => 'testpassword', 'salutation' => 'MrTest', 'title' => 'MScTest', 'firstname' => 'Testfirstname', 'lastname' => 'Testlastname', 'phonenumber' => 'testPhoneNumber', 'mobilenumber' => 'testMobileNumber', ] ); $this->assertEquals($user->salutation, 'MrTest'); $this->assertEquals($user->title, 'MScTest'); $this->assertEquals($user->firstname, 'Testfirstname'); $this->assertEquals($user->lastname, 'Testlastname'); $this->assertEquals($user->phonenumber, 'testPhoneNumber'); $this->assertEquals($user->mobilenumber, 'testMobileNumber'); }
Я получаю это:
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 users.username may not be NULL (SQL: insert into "users" ("updated_at", "created_at") values (2014-03-03 09:57:41, 2014-03-03 09:57:41))
во всех тестах, связанных с созданием пользователя, как будто он забыл об атрибутах родителей при сохранении модели.
Что я делаю не так?