Komponenta přistupující k databázi pomocí modelu

jik
Člen | 151
+
0
-

Zdravím,
lze nějak jednoduše v komponentech přistupovat k databázovým modelům z adresáře app/Model? Zkoušel jsem DI, ale v komponentě nejede:

namespace App/Controls;
use Nette\Application\UI\Control;
use App\Model;

class DokumentControl extends Control {

	private $dokumentRepos;

    public function injectDokument (\App\Model\Dokument $dok) {
		$this->dokumentRepos = $dok;
	}

	public function render(string $druh): void {
		$a_dokument = $this->dokumentRepos->getAll();
    }

děkuji
jik

m.brecher
Generous Backer | 929
+
0
-

Zkoušel jsem DI, ale v komponentě nejede

Di jde ve všech službách i v komponentách, použij constructor injection + zaregistruj komponentu jako službu v DIC.

Pokud chceš v komponentě injektovat metodou inject nebo atributem #[Inject], musíš režim Inject v komponentách aktivovat v konfiguraci neon, Inject režim je aktivován pouze v presenterech a v ostatních službách je by default vypnutý, ale zapnout jde.