Laravel 5.1独特的电子邮件

时间:2015-08-13 13:43:17

标签: php laravel laravel-5

我尝试按照文档在我的代码中使用以下规则,但它不起作用:

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'first_name'        => 'required',
        'last_name'         => 'required',
        'email'             => 'required|unique:users,email,:email',
    ];
}

它返回The email has already been taken.

我想说的是,如果用户的电子邮件不是唯一的,那么抛出一个错误,除了当前的用户ID。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

您需要为唯一规则指定要忽略的ID。试试这个:

return [
    'first_name'        => 'required',
    'last_name'         => 'required',
    'email'             => 'required|unique:users,email,' . Auth::user()->id
];

注意:这假设您使用的是Laravel的Auth类。