Laravel 5.3 多数据库

Laravel 5.3 multi database

这可能是个常见问题,但我已经卡了 2 天了T_T

很简单,

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'web.users' doesn't exist (SQL: select count(*) as aggregate from users where email = my@email.com)

问题:为什么它仍然从 'web' 数据库连接中查找,因为我告诉过要使用 'another' 数据库连接 T_T?

我错过了什么吗?

我读过一些文档,例如:http://fideloper.com/laravel-multiple-database-connections

但这对我没有帮助...

如果有人能在这里帮助我,我将不胜感激:)

干杯,

方法Schema::connection()实际上并不存在。执行此操作的理想方法是获取连接的架构构建器:

DB::connection('another')->getSchemaBuilder()->create('users', function (Blueprint $table) {
    // definitions
}

实际上有几种方法可以做到这一点,我可以一一介绍,但这是最简单的。

用于验证部分。尽管您在验证部分更改了另一个连接,但您仍在寻找网络连接用户 table 只需替换 RegisterController 中的以下代码即可。

return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:another.users',
            'password' => 'required|min:6|confirmed',
        ]);

unique:another.users *这部分很重要,因为它告诉要使用哪个连接以及验证字段的 table。

学分:laracast