https://laravist.com/series/laravel-5-basic/episodes/12
如上述教程里面讲的。
视频在播放到8:33 的时候讲述得到 多个请求都走同一个 rule 的时候。但是……对于我们小白还是不知道……我看了好久的 http://laravel.com/docs/5.1/validation#rule-array
也没看到多个的时候怎么处理……
public function rules()
{
//更新数据的时候我想反悔如下
return [
'tel' => "required|digits:11",
'email' => 'email'
];
//新增的时候我就走这的rule 规则
return [
'username' => 'required|unique:system_user,username',
'email' => 'required|unique:system_user,email',
'tel' => "required|digits:11",
'email' => 'email'
];
}
创建的 Route 是 /user/create
更新的 Route 是 /user/update
请问怎么识别?
补充一个问题。
如我想除本身id以外的数据才执行email唯一更新怎么弄?
我按照官方的文档弄的是这样的。
'email' => 'email|unique:user,email,'.\Auth::user()->id
我打印了一下数据是这样的
"email|unique:user,email,563496beab600d5237124848"
数据也是没问题的。
但是呢老提示……
email重复了。啥情况?
上问题答案:::::
感谢 @justtest 的处理
因为我安装的是mongodb 所以我的主键是 _id,而laravel 默认的主键的就是
protected function getUniqueIds($parameters)
{
//********看到没他的如果没给定主键的话,他就是id了。而我没有id字段
$idColumn = isset($parameters[3]) ? $parameters[3] : 'id';
return [$idColumn, $parameters[2]];
}
所以我们得改一下代码加上自定义字段
'email' => 'email|unique:user,email,'.\Auth::user()->id.',_id',
这样就大功告成了!!!再次感谢