Ostatnio cos mnie skusiło aby zerknąć na symfoni i postanowiłem sobie wyskrobać jakiś projekci w ramach zapoznania się z tym frameworkie, ale oczywiście żeby nie było za łatwo zawsze sie trafi na jakieś problemy

Wycinek mojego projektu:
baza:
PetsUser: columns: username: type: string(20) notnull: true unique: true password: type: string(32) notnull: true email: type: string(255) notnull: true unique: true ... PetsQuestion: columns: user_id: type: integer notnull: true title: type: string(255) body: type: clob notnull: true relations: PetsUser: onDelete: CASCADE local: user_id foreign: id ...
Formularze ładnie się generuja, wszystko pięknie dziła na wersji wygenerowanej przez symfony. Schody zaczynają się w momencie kiedy próbuje przgrzebać troszke formularz do dodawania pytan..
Schemat jest następujący:
Aby dodać pytanie trzeba być zalogowanym, wszystko ładnie pięknie ale postanowiłem wyciąć z formularza do zadawania pytan usera, czyli:
<?php class PetsQuestionForm extends BasePetsQuestionForm { public function configure() { .... } } ?>
poźniej przejscie przez odpowidnie akcje, validacja i zapis
teraz aby przypisac uzytkownika do danego pytania
nadpisuje funkcje save:
<?php class PetsQuestion extends BasePetsQuestion { public function save( Doctrine_Connection $conn = null ) { $userId = sfContext::getInstance()->getUser()->getId(); $this->setUserId( $userId ); return parent::save( $conn ); } } ?>
no i wszystko pięknie zapisuje się jak powinno, ale tu moje pierwsze pytanie:
Czy to jest odpowiednie miejsce na to czy powinienem wykonać to w jakiś inny sposób?
Nie przeszkadzało by mi w sumie to w niczym poza jednym - przy przebudowie projektu i probie załadowania danych z fixtures: ./symfony doctrine:build-all-reload pojawia się błąd: The "default" context does not exist. spowodowany proba odwolania sie do sesji. Wiec pytanie drugie:
Jak to obejść? W ktorym miejscu odwolac sie do uzytkownika aby nie musiec umieszczac ukrtego pola w formularzu.
Za wszelka pomoc jak i sugestie bede wdzieczny
pozdrawiam
Johny