Найдено в Kohana 3.3.1 (в предыдущих версиях не проверял).
Модель User как правило расширяется Model_Auth_User.
Для создания пользователя или изменения его данных необходимо использовать исключительно методы create_user и update_user или передавать extra_validation.
Объясню почему.
Есть у нас модель User следующего содержания:
1. T1grOK - 17 Ноября, 2013 - 20:54:05 - перейти к сообщению
В общем то пустая модель. И теперь пытаемся из контроллера, скажем обновить данные пользователя, через метод save класса ORM.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- public function action_edit(){
- $id = (int)$this->request->param('id');
- $user = ORM::factory('user', $id);
- if(!$user->loaded()){
- // Ошибка
- }
- if($this->request->method() == Request::POST){
- $user->values($this->request->post('user'));
- try{
- $user->save();
- }catch (ORM_Validation_Exception $e){
- $errors = $e->errors('validation');
- }
- }
- }
Данный код спокойно отработает, если password(пароль) будет пуст. Но если мы заглянем в Model_Auth_User, то увидим следующие правила