Call to a member function findAll() on null ale na Homepage to chybu nevyhadzuje

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

Zdravím ľudia takže znova…
Tahám menu cez databázu všetko to mám z môjho starého príspevku pridám do tabuľky záznam čiže vyplním (title, link, icon) a uložím parent_id nechávam prázdny keďže nechcem aby menu obsahovalo submenu…
Homepage stránka sa zobrazí dobre aj menu ukáže ale akonáhle chcem kliknúť na to pridané menu vyskočí na mňa stránka s chybou

Fatal Error
Call to a member function findAll() on null search►
Source file

File: ...\module\WebadminModule\presenters\BasePresenter.php:16

 6:
 7:    abstract class BasePresenter extends CommandPresenter {
 8:        /** @var MenuRepository */
 9:        public $menuRepository;
10:
11:        public function __construct(MenuRepository $menuRepository) {
12:            $this->menuRepository = $menuRepository;
13:        }
14:
15:        public function beforeRender() {
16:            $selectMenu = $this->menuRepository->findAll()->where('parent_id IS NULL')->order('parent_id');
17:            $this->template->WebadminMenus = $selectMenu;
18:        }
19:    }

Nechápem to akonáhle pridám submenu tak už sa stránka zobrazí…
Môj BasePresenter

<?php
namespace App\WebadminModule\Presenters;
use Nette;
use App\Presenters\CommandPresenter;
use App\WebadminModule\Repositoris\MenuRepository;

abstract class BasePresenter extends CommandPresenter {
	/** @var MenuRepository */
	public $menuRepository;

	public function __construct(MenuRepository $menuRepository) {
		$this->menuRepository = $menuRepository;
	}

	public function beforeRender() {
		$selectMenu = $this->menuRepository->findAll()->where('parent_id IS NULL')->order('parent_id');
		$this->template->WebadminMenus = $selectMenu;
	}
}

P.S: skúšal som render, beforeRender, startUp, renderDefault ale ani za boha nezobrazí nič len chybu

David Matějka
Moderator | 6445
+
+3
-

Asi v nekterem konkretnim presenteru prekryvas konstruktor a nevolas rodicovsky konstruktor base presenteru. ale predavani zavislosti do base presenteru neni vhodne, vznikne dependency hell. Pouzij radeji @inject anotaci

SontoEremo
Člen | 341
+
0
-

Ďakujem @DavidMatějka problém vyriešený…