nefungujuca @inject anotacia

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

Ahojte

Mam takyto model

abstract class Repository extends Nette\Object {

    /**
    * @inject
    * @var \Nette\Database\Context */
    protected $database;

    public function __construct() {
    }

    protected function getTable() {
        preg_match('#(\w+)Repository$#', get_class($this), $m);
        return $this->database->table(lcfirst($m[1]));
    }

Pise mi to chybu Call to a member function table() on a non-object
Co znamena ze premena database sa nenaplnila

Robim nieco zle ?

Pripadne ak treba nieco doplnit dajte vediet

dakujem

Jiří Nápravník
Člen | 710
+
0
-

@inject funguje jen na public atributy, pokud chces zapisovat do protected, tak musis vyuzit Kdyby\Autowired

David Matějka
Moderator | 6445
+
0
-

a @inject anotace jsou defaultne zapnute jen na presenterech. v modelech a jinych sluzbach pouzivej (pokud mozno) konstruktor injection

MKI-Miro
Člen | 279
+
0
-

suepr dakujem za info