Nepochopil jsem použití dibi v modelech
- Tulen22
- Člen | 5
Ahoj.
Tak nějak jsem přišel k Nette ani nevím jak. Hodili mě do vody.
Potřebuji upravit přihlášení uživatelů, kteří jsou uložení v DB
WordPressu tak, aby to fungovalo na Nette.
Prakticky potřebuji napojit do Nette druhou DB, která ukazuje do
WordPressu.
Nevím jak to udělat.
Nette: version 2.0-beta
PHP: 5.4.7
Dibi: 1.5
Po předchůdci jsem zdědil bootstrap.php, kde napojuje dibi jako statický
objekt:
// Connection to database
dibi::connect($container->params[‚database‘]);
Potom tam mám Authenticator UsersModel a v něm je toto:
$row = dibi::query( „SELECT * FROM users WHERE username = %s“,
$username)->fetch();
Už několik dní čtu návody v dokumentaci a čím dál tím více se do
toho zamotávám … Modely, Presentery, Repository, Viewery… hlava mi z toho
jde kolem.
Asi by to chtělo začít v klidu od začátku, ale bohužel nemám moc čas,
tak se snažím tím nějak prokousat.
Můžete mi pomoct?
Jak dostat do UsersModel další databázi, abych mohl načíst data pro
validaci z jiné databáze?
Něco jako:
$row = dibi2::query( „SELECT * FROM wp_users WHERE username = %s“,
$username)->fetch();
Děkuju.
T.
- Tulen22
- Člen | 5
Ahoj.
Díky za reakci.
Mám starou aplikaci, tak mě zaujalo současně používat statický model a
servisu.
Kdybych to rozchodil, tak bych mohl jednoduše přidat další databázi jako
další službu.
Nicméně, stačilo, abych do config.neon v části services vložil:
connection:
class: DibiConnection
factory: dibi::connect(%database%)
run: TRUE
… a šlo to do kopru.
Zkusím se s tím ještě poprat, ale quickwin se bohužel nedostavil :(
- crempa
- Člen | 198
Filip Procházka napsal(a):
Třeba ti pomůže tohle?
jen bych rád upozornil, že v poslední kombinaci nette 2.1 a dibi zdá se není funkční
$this->context->dibi->connection... //Nette\DI\MissingServiceException (Service 'dibi' not found.)
je nutné použít
$this->context->getByType('DibiConnection',true)...
nevím zda chyba nebo vlastnost, přišel jsem na to defacto náhodou, protože všude si nechávám injectovat DibiConnection automaticky na základě typu
- Jan Tvrdík
- Nette guru | 2595
@crempa: Hádám, že bude fungovat něco jako
$this->context->{'dibi.connection'}