我正在通过$RegisterData = Input::all();
获取注册详细信息,在验证规则之后,我正在通过中间RiderModel::create($RegisterData);
创建它,我想生成一个随机数并与之一起存储
即$RegisterData ->代码 = $generatedrandomnumber;
我怎么能雄辩地做到这一点
最简单的方法是使用creating
事件:
// RiderModel
public static function boot()
{
parent::boot();
static::creating(function ($rider) {
$rider->code = $rider->code ?: YOUR_RANDOM_NO_FUNCTION();
});
}
那么你根本不需要更改你的代码:
RiderModel::create($RegisterData);
如果没有code
随输入一起传递,则在创建过程中将追加到模型中。
那么
fill()方法呢?Fill() 将数组中的所有数据填充到您的 RiderModel 模型中声明的可填写字段。
class RiderModel extends Eloquent{
# Fillable Fields
protected $fillable = array('foo', 'bar');
....
}
使用可填充属性填充模型后,可以将代码存储到模型中,然后保存:
$riderModel = new RiderModel;
$riderModel->fill(Input::all());
$riderModel->code = $generatedrandomnumber;
$riderModel->save();