Php 验证数据库上的属性唯一性,但排除当前记录

Php 验证数据库上的属性唯一性,但排除当前记录,php,mysql,laravel,Php,Mysql,Laravel,所以我有一个组织模型,它有一个唯一的属性“username”,我试图为这个属性添加验证规则 <?php namespace Cuadrangular\Users\Validator\Organization; use Cartalyst\Support\Validator; class OrganizationValidator extends Validator implements OrganizationValidatorInterface { /** * {

所以我有一个组织模型,它有一个唯一的属性“username”,我试图为这个属性添加验证规则

<?php namespace Cuadrangular\Users\Validator\Organization;

use Cartalyst\Support\Validator;

class OrganizationValidator extends Validator implements OrganizationValidatorInterface {

    /**
     * {@inheritDoc}
     */
    protected $rules = [
        'username' => 'required|unique:organizations,username'
    ];

    /**
     * {@inheritDoc}
     */
    public function onUpdate()
    {
        $this->rules['username'] .= ',{id},id';
    }

}

假设您在更新时有以下示例:

route.php
Route::put('update_profile/{user}', 'UserController@update');
根据您的请求,验证将如下所示:

return[
    'username' => 'required|unique:users,username,' . $this->user
];
因此,laravel将检查除当前id用户之外的所有用户名记录