【发布时间】:2014-04-04 08:05:31
【问题描述】:
我正在使用 Laravel 的 Toddish/Verify 库,因为它包含了我项目所需的 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))
在所有涉及用户创建的测试中,好像它在保存模型时忘记了父母属性。
我做错了什么?
【问题讨论】:
标签: php model laravel laravel-4