如何在Laravel 5.2中使唯一键不可为空?

时间:2016-06-02 08:58:58

标签: php laravel

我尝试过使用这些语法来使唯一键不可为空。

1 : $table -> string('email_id' , 40) -> unique() ;
    $table -> string('email_id') -> nullable(false) -> change();


2 : $table -> string('email_id' , 40) -> unique() -> nullable(false) -> change();

但他们都没有奏效。如果我能找到相同的帮助,那就太好了。

提前谢谢你。

2 个答案:

答案 0 :(得分:0)

如果在创建表/列时没有找到解决方案,则必须使用accessors and mutators

在PHP中解决此问题

例如

$table -> string('email_id' , 40) -> unique() ; //email_id is unique


//now how to make not null
public function setEmailIdAttribute($value) {
    if ($value == null) ) { // will check for null 
    //do something
    } else {
        $this->attributes['email_id'] = $value;
    }
}

如需更多帮助,请查看this

希望它对你有所帮助。

答案 1 :(得分:-1)

我使用$table->string('email')->unique();它对我有用。我想你又犯了一些错误。