Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel 5.1中的更改请求默认数据库_Php_Laravel_Laravel 5_Laravel 5.1 - Fatal编程技术网

Php laravel 5.1中的更改请求默认数据库

Php laravel 5.1中的更改请求默认数据库,php,laravel,laravel-5,laravel-5.1,Php,Laravel,Laravel 5,Laravel 5.1,我通过以下方式请求验证控制器操作中请求的值: namespace App\Http\Requests; use App\Http\Requests\Request; class AccountsRequest extends Request { /** * Determine if the user is authorized to make this request. * * @return bool */ public functio

我通过以下方式请求验证控制器操作中请求的值:

namespace App\Http\Requests;
use App\Http\Requests\Request;
class AccountsRequest extends Request {

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize() {
        return TRUE;
    }

    public function rules() {
        return [
            'email' => 'email|required|max:255|unique:accounts',
            'password' => 'min:6|required'
        ];
    }
}
如果使用默认数据库,一切都很好,但为了进行此验证,我需要检查其他数据库中的表。在配置中,我有两个数据库:

'connections' => [

    'sqlite' => [
        'driver'   => 'sqlite',
        'database' => database_path('database.sqlite'),
        'prefix'   => '',
    ],

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'sait'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],
    'mysql2' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'account'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

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

您在文档中看到“唯一”规则了吗

$verifier = App::make('validation.presence');

$verifier->setConnection('connectionName');

$validator = Validator::make($input, [
    'name' => 'required',
    'password' => 'required|min:8',
    'email' => 'required|email|unique:users',
]);

$validator->setPresenceVerifier($verifier);
您可以使用setConnection()方法指定如何确定唯一性。

根据文档 而不是

“电子邮件”=>“电子邮件|必需”|最大值:255 |唯一:帐户”,

你需要做什么

“email”=>“email |必填项|最大值:255 |唯一值:mysql2.accounts”,

我猜是mysql2,你没提到