我试图不保存具有null
价值的雄辩的数据库模型。我的迁移文件中有这个:
$table->increments('id')->unique();
$table->string('name', 255)->unique();
$table->string('email', 255)->unique();
$table->string('password', 64);
$table->timestamps();
Schema 文档说默认值为NOT NULL
,但->nullable()
您可以允许空值,太酷了!所以我的User
模型集电子邮件方法如下所示:
public function setEmailAttribute( $value )
{
if ( filter_var( $value, FILTER_VALIDATE_EMAIL ) )
{
$this->attributes['email'] = strtolower( $value );
}
else
{
return false;
}
}
但是现在在我的 TestClass 中,他在没有设置电子邮件地址的情况下保存了模型!?!
$userSave3 = new User;
$userSave3->setNameAttribute('wrongUser');
$this->assertEquals( false, $userSave3->setEmailAttribute('wrongemail') );
$userSave3->setPasswordAttribute('password');
// Failed asserting that true matches expected false.
$this->assertEquals( false, $userSave3->save() );
那么如何添加NOT NULL
数据约束呢?我在开发模式下使用 SQLite。