gpt4 book ai didi

php - 如何在 Laravel 的验证器中更改数据库

转载 作者:可可西里 更新时间:2023-11-01 13:47:09 26 4
gpt4 key购买 nike

我想通过这种方式验证来自 Controller 操作的请求值:

    // 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);

如果我使用的是默认 数据库,一切都很好,但对于此验证,我需要检查其他数据库中的表。在配置中我有两个数据库:

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

当我调用验证时,它正在根据我的默认数据库中的“唯一”规则进行检查,因此我需要更改它,但我无法在任何地方找到如何执行此操作。

最佳答案

我是这样实现的:

    $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);

为遇到此问题的其他人提供的解决方案。

关于php - 如何在 Laravel 的验证器中更改数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com