symfony: sfDoctrineRoute передает дополнительный параметр - PullRequest
4 голосов
/ 05 января 2011

Я использую Symfony 1.4, и у меня есть следующий маршрут для моего / -Route:

homepage:
  url:   /
  class:   sfDoctrineRoute
  options: { model: ContentPage, type: object}
  param: { module: page, action: show}

, и мое шоу-действие выглядит так:

class pageActions extends sfActions
{
  public function executeShow(sfWebRequest $request)
  {
    $this->content_page = $this->getRoute()->getObject();
    $this->forward404Unless($this->content_page);
    $this->forward404Unless($this->content_page->getPublished());
  }
}

Это работаетно он всегда выбирает первую запись в ContentPage-Table.Есть ли способ передать «Doctrine-Select-Parameter» внутри routing.yml, чтобы использовать определенный идентификатор или около того?

С уважением, уху.

1 Ответ

4 голосов
/ 05 января 2011

Взгляните на getObjectsForParameters() метод sfDoctrineRoute .Как видите, вы можете использовать опцию method в определении маршрута, чтобы определить, какой метод модели таблицы будет использоваться для получения результатов.Вы можете добавить свое условие в этот метод.

Вторым решением является использование опции method_for_query, чтобы указать, какой метод модели таблицы будет использоваться для изменения запроса и получения результатов.

...