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
+
0
-

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
+
0
-

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->....;
      ....
    }
  )
));
Xantes
Člen | 28
+
0
-

Perfektní, tohle je ono. Díky