Php 如何在Laravel中更改验证程序中的数据库
我想通过以下方式验证控制器操作请求的值:Php 如何在Laravel中更改验证程序中的数据库,php,laravel,laravel-4,Php,Laravel,Laravel 4,我想通过以下方式验证控制器操作请求的值: // validate the info, create rules for the inputs $rules = array( 'username' => 'required|min:5|unique:users,username', 'email' => 'required|email|unique:users,email', 'passw
// validate the info, create rules for the inputs
$rules = array(
'username' => 'required|min:5|unique:users,username',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8',
);
// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);
$verifier = App::make('validation.presence');
$verifier->setConnection('server_auth');
// validate the info, create rules for the inputs
$rules = User::$rules = array(
'username' => 'required|min:5|unique:users,username',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8',
);
// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);
$validator->setPresenceVerifier($verifier);
如果我使用的是默认数据库,那么一切都很好,但是为了进行此验证,我需要检查其他数据库中的表。在配置中,我有两个数据库:
'connections' => array(
'main' => array(
'driver' => 'mysql',
'host' => '*******',
'database' => '*******',
'username' => '*******',
'password' => '*******',
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => 'ko_',
),
'server_auth' => array(
'driver' => 'mysql',
'host' => '*******',
'database' => '*******',
'username' => '*******',
'password' => '*******',
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
),
),
当我调用验证时,它正在按默认数据库中的“唯一”规则进行检查,因此我需要对其进行更改,但我找不到任何地方可以执行此操作。我是这样做的:
// validate the info, create rules for the inputs
$rules = array(
'username' => 'required|min:5|unique:users,username',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8',
);
// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);
$verifier = App::make('validation.presence');
$verifier->setConnection('server_auth');
// validate the info, create rules for the inputs
$rules = User::$rules = array(
'username' => 'required|min:5|unique:users,username',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8',
);
// run the validation rules on the inputs from the form
$validator = Validator::make(Input::all(), $rules);
$validator->setPresenceVerifier($verifier);
其他有此问题的人的解决方案。您可以在表名之前设置连接名,如下所示
$rules = array(
'username' => 'required|min:5|unique:server_auth.users,username',
'email' => 'required|email|unique:server_auth.users,email',
'password' => 'required|min:8',
);