Service of type App\model\UzivatelModel required by $uzivatel in NahratPresenter::__construct() not found. Did

mimacala
Člen | 113
+
0
-

Service ‚application.4‘ (type of App\Presenters\NahratPresenter): Service of type App\model\UzivatelModel required by $uzivatel in NahratPresenter::__construct() not found. Did you add it to configuration file?

Ahojte, dnes ještě jednou asi jsem něco přehlédl ?
Proč mi nette říká, že nenašlo v construktoru UzivatelModel, když jej tam vkládám private UzivatelModel $uzivatel,use App\model\UzivatelModel;

Moc Děkuji

<?php

namespace App\Presenters;

use Nette;
use Nette\Application\UI\Form;
use Nette\Database\Explorer;
use Nette\Utils\FileSystem;
use App\model\UzivatelModel;


final class NahratPresenter extends Nette\Application\UI\Presenter
{
    public function __construct(
        private Explorer $db,
        private UzivatelModel $uzivatel,
    )
    {
    }
<?php
namespace App\model;

use Nette;
use Nette\Database\Explorer;

class UzivatelModel
{
    use Nette\SmartObject;

    public function __construct(
        private Explorer $db,
    ){
    }

    private $table = "uzivatele";

    public function Vloz(array $arr)
    {
        return $this->db->table($this->table)
            ->insert($arr);
    }

    public function VratVse()
    {
        return $this->db->table($this->table);
    }



}
services:
	- App\model\UzivatelModel
Petr Parolek
Člen | 455
+
+1
-

Ahoj, máš zapnutý debug mode? Zkus smazat cache.

Marek Bartoš
Nette Blogger | 1171
+
+1
-

To vypadá správně.

Spíš bych si tipnul, že ti vznikla chyba už někdy v UzivatelModel a Nette ti jen nezobrazuje chyby v očekávém pořadí. Když odmažeš model z konstruktoru presenteru, tak ti to projde nebo vypíše jinou chybu?

mimacala
Člen | 113
+
0
-

Pokud odmažu private UzivatelModel $uzivatel,, tak mě normálné pustí dál a vše funguje do doby než odešlu formulář s požadovanou prom $uzivatel.
Pak to samozrejmne hodí hlášku Cannot read an undeclared property App\Presenters\NahratPresenter::$uzivatel.

Cache jsem smazal ale to nepomohlo

Možná ještě, soubor services.neon jsem ve složce config neměl, tak jsem jej vytvářel, je potřeba jej někde ještě zapnout ?

Editoval mimacala (10. 10. 2022 20:54)

Petr Parolek
Člen | 455
+
+1
-

někdy se mi soudor v IDE neuložil, zkus znovu uložit soubory.

Marek Bartoš
Nette Blogger | 1171
+
+3
-

Jestliže jsi vytvořit nový neon soubor, tak ho musíš includnout v jiném neon souboru nebo v bootstrapu, nenačítají se automaticky.

Mysteria
Člen | 797
+
+2
-

A máš ten soubor načítanej v Bootstrapu? https://doc.nette.org/…on/bootstrap
Pokud ne, tak ho přidej stejně jako je tam tam ten common.neon, nebo ho includuj přímo v common.neon: https://doc.nette.org/…onfiguration#…

mimacala
Člen | 113
+
+1
-

Ano to je ono, on neznal services.neon. Nenastavil jsem ho do bootstrapu, takže jsem okopíroval akorát řádek a přepsal na services.neon.
Opět moc děkuji za skvělé rady všem hážu palec nahoru. :)