Inject Repository – problem pri vytvarani dalsieho repositara

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
d4ncul
Člen | 41
+
0
-

Ahojte. Mam mensi problem s injectovanim repozitara. Obdobnym sposobom som uz rozbehol CostsRepository podla jedneho riesenia tusim priamo z tohto fora. Teraz by som potreboval vytvorit dalsi repozitar – InvoiceRepository. Vsetky nastavenia CostsRepository som vlastne len skopiroval a premenoval podla potreby. Chybu mi hadze tuto …

**Nette\InvalidStateException

Class \Repositories\InvoiceRepository used in service ‚invoiceRepository‘ has not been found or is not instantiable.**

DAKUJEM ZA RADY

Pripajam aj zdrojaky.

InvoicePresenter

/** @var \Repositories\InvoiceRepository */
	protected $invoiceRepo;

	/**
	 * @param \Repositories\InvoiceRepository
	 */
	public function injectInvoiceRepository(\Repositories\InvoiceRepository $repo) {
		if ($this->invoiceRepo) {
			throw new Nette\InvalidStateException('InvoiceRepository has already been set');
		}
		$this->invoiceRepo = $repo;
	}

InvoiceRepository

namespace Repositories;

class InvoiceRepository extends \Nella\Doctrine\Repository
{

config.neon

services:
		database: @doctrine.entityManager

		authenticator: Authenticator( @database::getRepository('User') )

		costsRepository:
			class: \Repositories\CostsRepository( @doctrine.entityManager, @database::getClassMetadata('Costs') )

		invoiceRepository:
			class: \Repositories\InvoiceRepository( @doctrine.entityManager, @database::getClassMetadata('Invoice') )

	factories:
David Matějka
Moderator | 6445
+
0
-

nette nemuze najit tu tridu InvoiceRepository. kde mas InvoiceRepository.php? vidi na to robotloader?

d4ncul
Člen | 41
+
0
-

tu triedu mam v zlozke hned vedla CostsRepository, s ktorym nemam problem

d4ncul
Člen | 41
+
0
-

Zaujimave, ze pri vytvarani ostatnych repozitarov nehlasi ziadnu chybu.

enumag
Člen | 2118
+
0
-

Primárně bych zkusil smazat cache RobotLoaderu (pokud jsi již zkoušel tak srry – neuvedl jsi to).

d4ncul
Člen | 41
+
0
-

ok vyskusam, dakujem

d4ncul
Člen | 41
+
0
-

Vytvoril som InvoiceRepository ABSOLUTNE tak isto a nejakym zazrakom mi to uz ide … trosku nechapem, no nevadi. Neriesil som nakoniec ani ziadne vymazavanie cache robot loadera.

Hlavne, ze to ide. Nette je proste magia niekedy :) Vdaka za vsetky rady