我通过$RegisterData = Input::all();
获取注册详细信息,并且在我通过RiderModel::create($RegisterData);
创建验证规则后,我希望生成一个随机数并随之存储
即$ RegisterData - > Code = $ generatedrandomnumber;
我如何在雄辩的情况下做到这一点
答案 0 :(得分:1)
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();
答案 1 :(得分:1)
最简单的方法是使用creating
事件:
// RiderModel
public static function boot()
{
parent::boot();
static::creating(function ($rider) {
$rider->code = $rider->code ?: YOUR_RANDOM_NO_FUNCTION();
});
}
然后您根本不需要更改代码:
RiderModel::create($RegisterData);
如果输入中没有传递code
,那么它将在创建过程中附加到模型中。