我有多個數據庫。對於用戶,記錄等我分開用戶數據庫的多個應用程序的原因。Laravel。用戶註冊在其他數據庫中
我的繼承人database.php中
'default' => 'main_db',
'connections' => [
'auth_db' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'MYLAPTOP\SQLEXPRESS'),
'database' => env('DB_DATABASE', 'auth_db'),
'username' => env('DB_USERNAME', 'sa'),
'password' => env('DB_PASSWORD', '1234'),
'charset' => 'utf8',
'prefix' => '',
],
'main_db' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'MYLAPTOP\SQLEXPRESS'),
'database' => env('DB_DATABASE', 'main_db'),
'username' => env('DB_USERNAME', 'sa'),
'password' => env('DB_PASSWORD', '1234'),
'charset' => 'utf8',
'prefix' => '',
],
],
user.php的模型。
class User extends Authenticatable
{
protected $fillable = [
'name', 'email', 'password',
];
protected $connection = 'auth_db';
protected $hidden = [
'password', 'remember_token',
];
}
AuthController.php,只作了PHP工匠化妝後的幾個變化:AUTH
class AuthController extends Controller
{
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
protected $redirectTo = '/';
protected $username = 'username';
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'username' => 'required',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:4|confirmed',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'username' => $data['username'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
問題是,當我通過/註冊途徑。它會說對象沒有找到「用戶添加新用戶」。因爲用戶表在'auth_db'中,並且它看起來像laravel的註冊仍然指向'main_db',即使$連接已經存在於模型中並且指向用戶表存在的數據庫..
正常查詢,雄辯和登錄功能正在順利..只要這個寄存器被嚇到我了..
U可以包括你在你的問題「用戶註冊」模型和控制器的一部分? – Sunil
@Sunil那裏是...只做了一些改動後,PHP的工匠作出:認證... –