cesta Nette\Database\Context $database
- Dovodo
- Člen | 3
Zdravím,
dělám zdejší tutoriál „Píšeme první aplikaci!“- Úvodní stránka.
https://doc.nette.org/…rt/home-page
V Presenteru se jako parametr konstruktoru předává cesta
Nette\Database\Context $database – mohl by mně prosím někdo poradit, co
tahle cesta vůbec znamená?
Díky
- Zdenek
- Člen | 4
Ahoj, dělám tutoriál quickstart a mám podobný problém. Prosím
o radu.
Laděnka mi vyhodí
chybku: Service '20_App_Model_UserManager': Service of type Nette\Database\Context needed by App\Model\UserManager::__construct() not found..
Dle tutoriálu bych měl měnit v podstatě zatím jen
config.local.neon
a presenter HomepagePresenter.php
.
Tak mě zaráží, proč něco chybí __construct(). Myslel jsem, že je to
díky špatnému nastavení v config.local.neon
protoze se
boostrapu v configuraku volá, ale chybku dle zdrojového GitHubu jsem
nenašel. Takže chyba bude mezi klávesnicí a židlí. Prosím o radu, jak
z toho ven.
Můj config.local.neon:
parameters:
nette:
database:
dsn: 'mysql:host=127.0.0.1;dbname=quickstart'
user: root
password: xxhesloxx
options:
lazy: yes
Můj presenter:
namespace App\Presenters;
use Nette,
App\Model;
class HomepagePresenter extends BasePresenter
{
/** @var Nette\Database\Context */
private $database;
public function __construct(Nette\Database\Context $database)
{
$this->database = $database;
}
public function renderDefault()
{
$this->template->posts = $this->database->table('posts')
->order('created_at DESC')
->limit(5);
}
}
Díky.
- Jan Tvrdík
- Nette guru | 2595
Ta sekce nette
v config.local.neon
musí být na
nejvyšší úrovní, tj. ne pod parameters
. Naopak
dsn
, user
… musí být pod database
.
Správně tedy takto:
nette:
database:
dsn: 'mysql:host=127.0.0.1;dbname=quickstart'
user: root
password: xxhesloxx
options:
lazy: yes
- Zdenek
- Člen | 4
Jan Tvrdík napsal(a):
Ta sekce
nette
vconfig.local.neon
musí být na nejvyšší úrovní, tj. ne podparameters
. Naopakdsn
,user
… musí být poddatabase
. Správně tedy takto:nette: database: dsn: 'mysql:host=127.0.0.1;dbname=quickstart' user: root password: xxhesloxx options: lazy: yes
Máte pravdu, bylo to tím „parameters:“. Moc děkuju za pomoc. [problém vyřešen]