Php Laravel模型属性默认值
在使用Eloquent将属性保存到数据库之前,我想为属性设置一个默认值 每次保存一个模型时,散列将是一个随机字符串,所以我真的不想在保存模型的任何地方传递它Php Laravel模型属性默认值,php,laravel,Php,Laravel,在使用Eloquent将属性保存到数据库之前,我想为属性设置一个默认值 每次保存一个模型时,散列将是一个随机字符串,所以我真的不想在保存模型的任何地方传递它 Model::create(['hash' => str_random(20)]); 我宁愿它在模型如下 public function setHashAttribute($value) { $this->attributes['hash'] = str_random(20); } 但是,除非我将一些值传递到crea
Model::create(['hash' => str_random(20)]);
我宁愿它在模型如下
public function setHashAttribute($value) {
$this->attributes['hash'] = str_random(20);
}
但是,除非我将一些值传递到create方法中,否则这段代码就无法工作,这违背了它的目的
Model::create(['hash' => 'I have to exist']);
脑力激荡我想象有一个
方法,我可以挂接到该方法中,该方法在被持久化到数据库之前被调用,在那里我可以生成一个随机字符串并将其附加到hash
属性中。非常感谢您的帮助。也许这可以帮助您实现完美,这正是我所需要的:)太好了,我自己也有这个问题:)