Ich habe mehrere Datenbanken. Für Benutzer, Datensätze usw. habe ich die Benutzerdatenbank aus mehreren App-Gründen getrennt.Laravel. Benutzerregistrierung in einer anderen Datenbank
heres mein 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 Modell.
class User extends Authenticatable
{
protected $fillable = [
'name', 'email', 'password',
];
protected $connection = 'auth_db';
protected $hidden = [
'password', 'remember_token',
];
}
AuthController.php, machte nur wenige Änderungen nach php Handwerker machen: 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']),
]);
}
}
Problem ist, wenn ich hinzufügen, neue Benutzer über/registrieren Route .. Es wird sagen Objekt nicht ‚Benutzer gefunden ". Weil die Tabelle users in der 'auth_db' ist und es so aussieht, als ob die Registrierung von laravel immer noch auf 'main_db' zeigt, obwohl $ connection bereits im Modell vorhanden ist und auf die Datenbank zeigt, wo die Benutzertabelle existiert.
Normale Abfrage, eloquent und Login-Funktion arbeitet reibungslos .. Gerade dieses Register mich ausgeflippt ..
u kann Ihr Modell und Steuerteil für ‚Benutzerregistrierung‘ in Ihrer Frage enthalten? – Sunil
@Sunil dort ist es ... machte nur ein paar Änderungen nach dem php Handwerker machen: auth ... –