我使用Laravel的Toddish/Verify库,因为它包含我需要的项目的99%。我需要的只是添加一些字段。Laravel模型继承
我在迁移加入他们,我也想加入他们产生质量:
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 protected]',
'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))
在涉及用户创建的所有测试中,就好像它在保存t时忘记了父项属性他模型。
我在做什么错?
我们可以看到用户模型 –
https://github.com/Toddish/Verify-L4/blob/master/src/Toddish/Verify/Models/User.php –