laravel如何判断是修改还是添加?
问题:/**
* 自定义验证规则rules
*
* @return array
*/
public function rules()
{
return [
'name' => 'unique:products,name',
'sort' => 'required|',
'body' => 'required|min:20',
'price' => 'required',
'thumb' => 'required',
'status' => 'boolean',
];
return $rules;
}
在这里验证了 name 是否重复, 在添加产品的时候做验证
但在修改产品的时候 也用到了该验证,想知道,修改产品的 产品名称 不变 会提醒产品名称重复了,
这里可以做判断吗 ?
方法:/**
* 自定义验证规则rules
*
* @return array
*/
public function rules()
{
$rules = [
'sort' => 'required|',
'body' => 'required|min:20',
'price' => 'required',
'thumb' => 'required',
'status' => 'boolean',
];
//根据RESTful请求的方法来判断是新建还是更新,如果是PUT请求的话
if($this->method() === "PUT"){
// 更新产品信息的时候,你在后面可以限制一个id,这个时候如果name刚好在这个id里就不会提醒产品重复了
// $product = ……
$rules['name'] = 'unique:products,name,id,'.$product->id;
}else{
$rules['name'] = 'unique:products,name';
}
return $rules;
}
可以改成这样。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!