Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
В валидаторе unique указана таблица users:
'email' => 'required|email|unique:users',
Спасибо, добрый человек.
Rules в модели User
class User extends Eloquent implements UserInterface, RemindableInterface {
public static $rules = array(
'nickname'=>'required|alpha|min:2',
'email'=>'required|email|unique:users',
'password'=>'required|alpha_num|between:6,12|confirmed',
'password_confirmation'=>'required|alpha_num|between:6,12'
);
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'user';
и т.д.
Забыл, в контроллере оставляю просто:
$user = new User;
$user->nickname = Input::get('nickname');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::to('user/create')->with('message', 'Thanks for registering!');
Все - ок.
Validator в контроллере:
public function createUser(){
$validator = Validator::make(Input::all(), User::$rules);
if ($validator->passes()) {
$user = new User;
$user->nickname = Input::get('nickname');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::to('user/create')->with('message', 'Thanks for registering!');
} else {
return Redirect::to('/')->with('message', 'Error!');
}
}
В модели User :
protected $table = 'user';
Если убрать:
$validator = Validator::make(Input::all(), User::$rules);
и
if ($validator->passes()) {
$user = new User;
$user->nickname = Input::get('nickname');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::to('user/create')->with('message', 'Thanks for registering!');
} else {
return Redirect::to('/')->with('message', 'Error!');
}
Все работает нормально, пишеться в таблицу 'user'.
Может в Lavarel где то захардкодили таблицу 'users'?
Здравствуйте.
Везде прописана таблица - user.
В контроллере настроил Validator.
При записи в БД, получаю ошибку, нет таблицы - my_db.users.
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'my_db.users' doesn't exist (SQL: select count(*) as aggregate from `users` where `email` = qqq@qqq.tt)
Если убрать Validator, все - ок.
Что делать?
ЗЫ Все работает под Windows.