Dynamické připojování k DB
- krcuk41
- Člen | 12
Ahoj,
chtěl bych požádat o radu. Snažím se vymyslet jak se připojovat k různým DB pro různé uživatele. Představoval bych si to tak, že budu mít jednu DB, ve které budou zánamy o uživateli a jakou má využívat DB. Ale data by se už zobrazovala právě z DB uložené u uživatele. Je nutné aby vše bylo dynamické.
Nenapadá vás nějáké řešení? Předem díky.
- CZechBoY
- Člen | 3608
Vše budeš tahat z jedné databáze nebo budeš někdy pracovat s 2?
Pokud jen s jednou tak by mělo stačit označit označit dané nastavení db
jako autowired:true a ostatní na false. Pokud teda dokážeš zařídit aby
při kompilování DIC si věděl jakou db zvolit.
Pokud ne tak musíš napsat aplikaci tak, aby si brala databázi dynamicky z nějakýho poolu, ptala se resolveru. Resolver ti potom vrátí normálně instanci databáze – připojenou, nastavenou, prostě ready to use.
class MyModel
{
public function __construct(DbResolver $dbresolver)
{
$this->dbResolver = $dbResolver;
}
protected function getDatabase()
{
return $this->dbResolver->getDatabase();
}
public function getArticles()
{
$this->getDatabase()->...
}
}
Editoval CZechBoY (10. 5. 2017 23:20)