Dotaz do databáze v masce Routy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Xantes
- Člen | 28
Ahoj,
mám takovouto routu
Route::addStyle('slug');
Route::setStyleProperty('slug', Route::FILTER_IN, function($url) {
});
$frontRouter[] = new Route('<slug [a-z0-9_-]+>', array(
'presenter' => 'Pages',
'action' => 'view',
));
a v té masce FILTER_IN bych se rád dotázal do databáze, jestli $url
odpovídá nějakému slug v databázi a když ne, aby to vrátilo NULL a
pokračovalo se na další routu.
V masce ale nejde použít $this a nevím jak se jinak dotázat do databáze.
Jak se jednoduše spojit s databází v té masce a ověřit to?
Díky
- David Matějka
- Moderator | 6445
ty style doporucuju pouzivat minimalne, radeji ten filter dej primo do
routy.
pro tvuj problem pouzij use
$pageRepository = $this->pageRepository;
$frontRouter[] = new Route('<slug [a-z0-9_-]+>', array(
'presenter' => 'Pages',
'action' => 'view',
'slug' => array(
Route::FILTER_IN => function($slug) use($pageRepository) {
$record = $pageRepository->....;
....
}
)
));