Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel模型属性默认值_Php_Laravel - Fatal编程技术网

Php Laravel模型属性默认值

Php Laravel模型属性默认值,php,laravel,Php,Laravel,在使用Eloquent将属性保存到数据库之前,我想为属性设置一个默认值 每次保存一个模型时,散列将是一个随机字符串,所以我真的不想在保存模型的任何地方传递它 Model::create(['hash' => str_random(20)]); 我宁愿它在模型如下 public function setHashAttribute($value) { $this->attributes['hash'] = str_random(20); } 但是,除非我将一些值传递到crea

在使用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']);

脑力激荡我想象有一个
方法,我可以挂接到该方法中,该方法在被持久化到数据库之前被调用,在那里我可以生成一个随机字符串并将其附加到
hash
属性中。非常感谢您的帮助。

也许这可以帮助您实现完美,这正是我所需要的:)太好了,我自己也有这个问题:)