2015-09-20 6 views
0

У меня есть функция обновления моего контроллера. У меня есть этот 5 столбцов, а именно: ID, имя пользователя, описание и тип пользователя. Поскольку я хотел, чтобы все имена пользователей в моих записях были уникальными, я добавил unique:dbo_systemusers,SystemUserName в свои правила. Моя проблема в том, что когда я обновляю определенную запись, скажем, например, имя пользователя: benny, description: developer, usertype: admin, тогда я хотел обновить описание программисту, было бы ошибкой, говоря, что имя пользователя уже существует. существует ли правило, в котором он будет проверять уникальность имени пользователя только на других записях в таблице, а не на том, в каком они сейчас находятся? вот мой текущий код для правилПравила валидации в laravel 4.2 с использованием записей базы данных

$rules = array(
     'username'  => 'required|min:2|max:50|regex:/^[a-zA-Z0-9\-\s]+$/|unique:dbo_systemusers,ID,'.$id, 
     'description' => 'required|min:1|max:100|regex:/^[a-zA-Z0-9\-\s]+$/', 
     'usertype'  => 'required|numeric', 
     'capt'   => 'required|numeric' 
    ); 
+0

Могу ли я увидеть ваш контроллер, где вы хотите обновить конкретного пользователя? – aldrin27

ответ

1

Если вы хотите обновить конкретный пользователь вы должны заставить уникальное правило игнорировать данный идентификатор.

Попробуйте это:

$rules = array(
    'username'  => 'required|min:2|max:50|regex:/^[a-zA-Z0-9\-\s]+$/|unique:dbo_systemusers,ID,'.$id, //you want user $id here to ignore the unique rule 
    'description' => 'required|min:1|max:100|regex:/^[a-zA-Z0-9\-\s]+$/', 
    'usertype'  => 'required|numeric', 
    'capt'   => 'required|numeric' 
); 
+0

Я добавил его, но у меня была ошибка, говоря «SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец« id »в« where clause »(SQL: выберите count (*) как совокупность из' dbo_systemusers' где 'SystemUserName' = 23434234 и 'id' <> 6)' любые идеи? – BourneShady

+0

Какое имя вашего идентификатора в вашей базе данных? – aldrin27

+0

это 'SystemUserID' – BourneShady

Смежные вопросы