将 Laravel 默认用户数据库连接更改为另一个数据库连接
change Laravel default user db connection to another db connection
我有 config/database.php 如下:
'default' => 'web',
'connections' => array(
# Our primary database connection
'web' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'another' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
我正在使用标准 laravel 5.3 用户身份验证。
我在 registercontroller.php 中尝试过:
protected function create(array $data)
{
$user = new user();
$user->setConnection('another');
...
}
仍然没有运气
如果我想将数据库连接移动或更改为 'another' 与用户相关的任何数据库连接(例如登录、注册、忘记密码等),我需要更改的设置在哪里?
我刚刚尝试更改 config/database.php 默认连接,如下所示:
'default' => 'another',
它有效,所以我似乎需要 tell/configure 某处使用 'another' 数据库连接进行任何用户交易
谢谢!
要仅为特定型号使用不同的连接,您可以在型号 class 中设置 属性,例如App\User:
class User extends Authenticatable
{
use Notifiable;
protected $connection = 'another';
...
}
转到app>auth.php
并编辑 table 配置:
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'your_table_here',
'expire' => 60,
],
],
我有 config/database.php 如下:
'default' => 'web',
'connections' => array(
# Our primary database connection
'web' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'another' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
我正在使用标准 laravel 5.3 用户身份验证。
我在 registercontroller.php 中尝试过:
protected function create(array $data)
{
$user = new user();
$user->setConnection('another');
...
}
仍然没有运气
如果我想将数据库连接移动或更改为 'another' 与用户相关的任何数据库连接(例如登录、注册、忘记密码等),我需要更改的设置在哪里?
我刚刚尝试更改 config/database.php 默认连接,如下所示:
'default' => 'another',
它有效,所以我似乎需要 tell/configure 某处使用 'another' 数据库连接进行任何用户交易
谢谢!
要仅为特定型号使用不同的连接,您可以在型号 class 中设置 属性,例如App\User:
class User extends Authenticatable
{
use Notifiable;
protected $connection = 'another';
...
}
转到app>auth.php
并编辑 table 配置:
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'your_table_here',
'expire' => 60,
],
],