如何在Laravel Eloquent中指定我的列不能为空?

时间:2017-01-12 10:00:43

标签: laravel orm eloquent

根据标题:如何在尝试保存模型(将其推送到数据库)时指定某些列不能为空?

e.g。 protected $fillable = ['name', 'haircolor'];

我知道我可以使用[Mutator][1]但是在创建一个以表单数据作为输入的新对象时不起作用,仅用于个人协助。

我可能会使用before save event,但这听起来也有点像hacky。

那么有没有办法在雄辩的模型中定义约束?或者如果不是,最好的做法?

1 个答案:

答案 0 :(得分:2)

最佳做法是通过删除->nullable()将列定义为在迁移类中不可为空。

您还可以为create()函数创建一个包装器,例如:

public function checkAndCreate($data) {
    // Check if some columns are null and do something about this.
    ....

    return $this->create($data);
}