Error Typed property App\Presenters\HomepagePresenter::$database must not be accessed before initialization

Dave111
Člen | 10
+
0
-

Ahoj,
přes DataGrid mám vypsaný list uživatelů z databáze customer a do toho listu přidávám tlačítko na odstranění záznamu z této databáze viz. kód, ale dostávám error Typed property App\Presenters\HomepagePresenter::$database must not be accessed before initialization
a už si nějak nevím rady co s tím.
Děkuji za rady.

    public function handleDelete($id) {
		$this->database->table('customer')->where('Id',$id)->delete();
		$this->flashMessage('Účet úspěšně smazán.');
		$this->redirect('this');
	}
<td><a n:href="delete!, $customer->getID()" onClick="return confirm('Opravdu smazat?');">&#x2716;</a></td>

Editoval Dave111 (16. 12. 2022 10:32)

Marek Bartoš
Nette Blogger | 1165
+
0
-

Nepředává se služba do property database, jak ji inicializuješ? Chybí ti nebo máš špatně konstruktor/inject

Dave111
Člen | 10
+
0
-

Marek Bartoš napsal(a):

Nepředává se služba do property database, jak ji inicializuješ? Chybí ti nebo máš špatně konstruktor/inject

Konstruktor mám takto

	public function __construct(Nette\Database\Explorer $database)
	{
		$this->database = $database;
	}
Marek Bartoš
Nette Blogger | 1165
+
+1
-

To vypadá správně. Nepřetěžuješ si někde konstruktor? Možná jsi zapomněl zavolat parent::__construct()