Service ‚application.10‘ Pripojeni druhe databze
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- parti
- Člen | 117
Ahoj nevite mi poradit kde mam chybu ? Pokusimi se vytvorit spojeni na druhou
databazi ale nekde je chyba. Bohuzel nevim kde.
configlocal mam takhle
nette:
database:
default:
dsn: 'mysql:******'
user: '****'
password: '*****'
autowired: true
databaseGuru:
dsn: 'mysql:******'
user: '*****'
password: '****'
autowired: false
dale config tam mam zaregistrovanu tridu Manager
services:
- App\Model\GuruManager
no a pak mam tridu GuruManager kde to vypada naslednovne
class GuruManager extends \Nette\Object {
/**
*
* @var \Nette\Database\Context
*/
private $databaseGuru;
public function __construct(\Nette\Database\Context $databaseGuru) {
$this->databaseGuru = $databaseGuru;
}
public function findOnColl($date_from) {
return $this->databaseGuru->table('support_entry')
->where('date_from', $date_from);
}
a vyhazuje mi to CS
Nette\DI\ServiceCreationException
Service 'application.10': Class Model\GuruManager needed by App\OncallModule\Presenters\GuruPresenter::__construct() not found. Check type hint and 'use' statements
Dekuji moc za radu
- David Matějka
- Moderator | 6445
vyzadujes tridu Model\GuruManager, ale jmenuje se App\Model\GuruManager
- parti
- Člen | 117
Dekuji uz jsem to opravil dostal jsem se az k dotazu do DB ted mi to pise ze nepozna tabulku. Jasne ale
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ops-dev.support_entry' doesn't exist
ta tabulka je prave v jine databaze jak mu mam rict aby se podival do druhy databaze a nehledal ji v ty prvni databze?
public function findOnColl($date_from) {
return $this->databaseGuru->table('support_entry')
->where('date_from', $date_from);
}
- David Matějka
- Moderator | 6445
musis ji predat rucne:
services:
- App\Model\GuruManager(@database.databaseGuru.context)