使用Eloquent事件在Laravel中保存之前操作输入数据

时间:2014-02-06 15:09:43

标签: forms laravel request eloquent

我有什么方法可以做到这一点吗?

MyModel::saving(function($content) {
    if(!Input::has('confirmed')) {
        Input::merge(['confirmed' => '0']);
    }
});

目前输入实际上并没有改变。我正在尝试系统地将未经检查的复选框(名为“确认”)添加到输入中,以便它们正确保存。

1 个答案:

答案 0 :(得分:0)

您可以使用正在使用的模型中的引导功能挂钩模型的事件

public static function boot()
{
    parent::boot();

    // Setup event bindings...
    MyModel::saving(function($content)
    {
        if(!Input::has('confirmed')) {
            Input::merge(['confirmed' => '0']);
        }
                // $content->confirmed = '0';
    });
}
回调函数中的

$content将是您尝试保存的对象,因此您可以根据需要获取或设置其属性。