通过验证层4更新一个属性失败

时间:2013-09-14 06:44:48

标签: laravel laravel-4 ardent

我有一个Ardent(Laravel 4)模型,其验证规则如下:

public static $rules = array(
    'title'      => 'required|alpha_num|min:4',
    'friendly'   => 'required|alpha_num|url'
);

当我尝试这个时:

$page = Page::find($id);
$page->menu=1;
$page->save();

由于其他字段的验证规则,它失败了。我的问题是我如何只更新上面的一个字段?

2 个答案:

答案 0 :(得分:1)

在Laravel中强制保存而不进行验证

如果您想强制保存模型而不进行验证,只需使用forceSave()方法代替save()

$model->forceSave()

答案 1 :(得分:0)

在我的案例中添加“有时”。您的等效代码将是:

public static $rules = array(
    'title'      => 'sometimes|required|alpha_num|min:4',
    'friendly'   => 'sometimes|required|alpha_num|url'
);

请参阅:http://laravel.com/docs/4.2/validation#conditionally-adding-rules