我想在使用Eloquent将数据保存到数据库之前为属性设置默认值。
每次保存模型时,哈希都将是一个随机字符串,所以我真的不想在保存模型的任何地方传递它。
Model::create(['hash' => str_random(20)]);
我宁愿在下面的模型中使用它。
public function setHashAttribute($value) {
$this->attributes['hash'] = str_random(20);
}
但是这个代码不起作用,除非我将一些值传递给create方法,从而破坏了目的。
Model::create(['hash' => 'I have to exist']);
头脑风暴我想象我可以挂钩的some method
在被持久化到数据库之前被调用,我可以生成随机字符串并将其附加到hash
属性。任何帮助表示赞赏。