所以我有一个组织模型,它有一个唯一的属性'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';
}
}
但是udpate由于唯一约束而一直失败,如果我手动将{id}
更改为组织的id我正在尝试更新它的工作原理。关于语法可能出错的任何线索?
我正在使用Laravel 5.1和https://github.com/cartalyst/platform并使用通过工作台生成的存储库和验证器
答案 0 :(得分:0)
让我们说你在更新时有这个例子:
route.php
Route::put('update_profile/{user}', 'UserController@update');
您的验证请求将如下:
return[
'username' => 'required|unique:users,username,' . $this->user
];
所以laravel将检查用户名的所有记录,除了具有当前id
的用户