Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Framework nie znajduje obiektu z route
Forum PHP.pl > Forum > PHP > Frameworki
SnakeEater
W routing.yml mam coś takiego:
Kod
card_show2:
  url:   /card/show/*
  class:  sfDoctrineRoute
  param: { module: card, action: show }
  requirements: { sf_method: [get], sec_id: \w+ }
  options: { model: VotingCard, type: object }

, i jeżeli dam taki url:
Cytat
localhost/card/show?sec_id=g6bwquvbl7g8

To wcale nie znajduje rekordu w bazie. W bazie istnieje pole sec_id dla tablicy tabeli voting card.
Czy Symfony w ogóle nie obsługuje standardowych url w odniesieniu do obiektów?
  1. public function executeShow(sfWebRequest $request)
  2. {
  3. $this->card = $this->getRoute()->getObject();
  4. }


Muszę użyć takiego zapisu bo to jest get z forma, a chyba nie da się zrobić tak, żeby form robił urle w stylu /cards/:sec_id/show
destroyerr
symfony nie obsługuje tych parametrów tak jak tego oczekujesz, dlatego że te parametry nie należą do trasy. Pozostaje Ci więc tylko standardowe rozwiązanie:
  1. $this->card = Doctrine::getTable('VotingPeer')->find($request->getParameter('sec_id'))

lub modyfikacja routingu.
SnakeEater
Dziękuję. Zrobię to tak jak podałeś. Zmiana routingu to za dużo zabawy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.