Připojení modelu do komponenty
- Hitny14
- Člen | 90
Ahoj, chci si zkusit vytvořit komponentů a potřeboval bych se v ní připojit k modelu abych mohl pracovat s databazí. V presenteru i model injectnu pomoci:
/**
* @var \App\Model\model
* @inject
*/
public $model;
Ale v komponentě si takto injectnou model nemůžu. Poradil by mi někdo jak na to prosím?
- Marek Šneberger
- Člen | 130
V komponentách jedině konstruktor. Pokud si nechceš v tovrničce předávat závislosti, doporučuju si vytvořit interface a Nette ti závislosti automaticky předá. Viz příklad v plaNette
Editoval Marek Šneberger (11. 1. 2015 15:42)
- Hitny14
- Člen | 90
Tak sem použil ten konstruktor.
private $model;
public function __construct(\App\Model\CommentsModel $model) {
$this->model = $model;
}
a laděnka mi hlásí chybu:
Argument 1 passed to CommentsArcicle::__construct() must be an instance of
App\Model\CommentsModel, none given, called in
C:\xampp\htdocs\NetteRS\app\FrontModule\presenters\ArciclePresenter.php on line
80 and defined
ArciclePdesenter:
protected function createComponentCommentsArticle() {
$comments = new \CommentsArticle(); //toto je řádka 80 kde je chyba
return $comments;
}
- David Matějka
- Moderator | 6445
@Hitny14 precti si odkazovany clanek na planette od @MarekŠneberger nebo kapitolu v dokumentaci