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',
);