<?php $this->przyjecie = $this->getRoute()->getObject(); ?>
, który ładuje zawsze ten sam rekord z bazy danych.
Mimo, że wybieram rożne linki (generowane linki są przez regułę routing.yml)
To zawsze wyświetli ten samą stronę z danymi.
W sumie myślę, że reguła routingu która jest wykorzystywana przy tworzeniu linków do stron jest poprawna bo została skopiowana z kursu jobeet gdzie działało mi to ładnie.
<?php job_show_user: url: /job/:company_slug/:location_slug/:token/:position_slug class: sfPropelRoute options: { model: JobeetJob, type: object, method_for_criteria: doSelectActive } param: { module: job, action: show } requirements: token: w+ sf_method: [GET] ?>
Mój routing.yml
<?php przyjecie_show_user: url: /przyjecie/:nazwa_slug/:miejscowosc_slug/:id class: sfPropelRoute options: { model: Przyjecie2, type: object } param: { module: przyjecie, action: show } requirements: id: w+ sf_method: [GET] ?>
I linki są w sumie poprawnie generowane np.
<?php echo link_to($przyjecie->getIdPrzyjecie2(), 'przyjecie_show_user', $przyjecie ) ?>
generuje mi
http://localhost/Parme.pl/web/frontend_dev.php/przyjecie/ffff/ffffffff/13
i gdy kliknę na link, który otwiera stronę, gdzie są wyświetlane wszystkie dane, to zawsze otwiera mi ten sam rekord mimo, że wybieram rożne linki.
A metoda wygląda tak
<?php public function executeShow(sfWebRequest $request) { $this->przyjecie = $this->getRoute()->getObject(); } ?>
Dodam, że nie mam żadnych komunikatów o błędach.
Nie wiem gdzie jest problem. Może z was ktoś wie.
--------------------------------------------------------------------------------------------
Rozwiązane
Problem był w pliku routing.yml
<?php przyjecie_show_user: url: /przyjecie/:nazwa_slug/:miejscowosc_slug/:id_przyjecie2 class: sfPropelRoute options: { model: Przyjecie2, type: object } param: { module: przyjecie, action: show } requirements: id_przyjecie2: d+ sf_method: [GET] ?>
Zamiast :id zmieniłem na nazwę kolumny (klucza tabeli) jaką mam w bazie czyli na :id_przyjecie2
Dziwne, że był problem tego typu, iż nie komunikował żadnym błędem.