반응형
로그인 테이블과 각 사용자에 대한 해당 데이터베이스 설정이있는 마스터 데이터베이스가 있습니다. 로그인시 테이블에서 가져 오는 db 설정을 동적으로 변경해야합니다. DB 연결을 변경할 수 있지만 지속되지 않습니다.
Config::set("database.connections.mysql", [
'driver' => 'mysql',
"host" => $usr_host,
"database" => $usr_database,
"username" => $usr_username,
"password" => $usr_password,
...
]);
편집하다: 각 사용자가 앱에 등록 할 때 새 데이터베이스가 생성되므로 config / database.php에 정의 된 각 사용자에 대한 데이터베이스 연결이 없습니다.
해결 방법
사용자 로그인에 기본 데이터베이스를 사용하고 데이터베이스 이름에 대한 새 필드를 가질 수 있습니다. 그런 다음 다른 데이터베이스를 쿼리해야 할 때마다 db 연결을 변경할 수 있습니다.
이 같은
$someModel = new SomeModel;
$databaseName = "mysql2"; // Dynamically get this value from db
$someModel->setConnection($databaseName);
$something = $someModel->find(1);
여기에서 자세한 내용을 읽을 수 있습니다.
참조 페이지 https://stackoverflow.com/questions/46775265
반응형
'MySql' 카테고리의 다른 글
MySQL SELECT LAST_INSERT_ID () * 업데이트 됨 (0) | 2020.10.24 |
---|---|
MySQL 데이터베이스 목록을 얻는 방법? (0) | 2020.10.24 |
MySQL php_network_getaddresses : getaddrinfo 실패 : nodename 또는 servname이 제공되었거나 알려지지 않았습니까? (0) | 2020.10.24 |
MySQL phpMyadmin-오류 # 1064 (0) | 2020.10.23 |
MySQL SQL : 중복 필드 값을 무시하면서 테이블에서 행을 선택하는 방법은 무엇입니까? (0) | 2020.10.23 |
댓글