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->....;
      ....
    }
  )
));