Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Ilosc parametrów $_GET['']
Forum PHP.pl > Forum > PHP > Frameworki
IMP
Witam,

projektuje mały serwis z wykorzystaniem symfony. Tworze moduł w oparciu o model/tabele zawierającą swój własny klucz ID oraz klucz obcy USER_ID. Chciałbym odwoływać się w urlu do modułu z wykorzystaniem jednego argumentu (ID).

Plik action.php
  1. public function executeShow(sfWebRequest $request)
  2. {
  3. /*$this->aj_activitie = Doctrine_Core::getTable('AjActivitie')->find(array($request->getParameter('id'),
  4.   $request->getParameter('a_user_id')));
  5.   $this->forward404Unless($this->aj_activitie);*/
  6.  
  7. $this->aj_activitie = Doctrine_Core::getTable('AjActivitie')->find(array($request->getParameter('id'))); //moja wersja
  8. $this->forward404Unless($this->aj_activitie);
  9. }


Taka zmiana powoduje błąd:

  1. SQLSTATE[HY093]: Invalid parameter number: number of bound VARIABLES does NOT match number of tokens


Moje pytanie brzmi. Jak powinienem z edytować istniejące pliki .php aby odwoływać się do modułu jedynie za pomocą jednego argumentu.
jaro87
Najprościej zrezygnować ze złożonego klucza głównego. Będziesz mógł wtedy używać find() z jednym argumentem. Tym bardziej jeżeli ID jest unikalny w tabeli to nie ma sensu tworzyć klucz główny z 2 kolumn.
IMP
Chciałem żeby usuwanie rekordów wykonywało się po stronie bazy danych. To będzie spory serwis dlatego wolałbym tego nie robic po stronie php. Moje rozwiązanie haha.gif:
  1. public function executeShow(sfWebRequest $request)
  2. {
  3. $this->aj_activitie = Doctrine_Core::getTable('AjActivitie')->find(array($request->getParameter('id'), ' * '));
  4. $this->forward404Unless($this->aj_activitie);
  5. }
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.