Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

witam:)

mam 3 tabele powiązane ze sobą
sf_guard_user, profil oraz profil_liczniki

dodaję usera
symfony guard:generate-user adam haslo


chciałbym, żeby automatycznie dodał się nowy wiersz w tabeli profil oraz profil_liczniki.

jak to mógłbym zrobić?

sprawa chyba komplikuje się przez trochę dziwną strukturę tabel
sf_guard_user: id, username ...
profil: idprofil, user_id
profil_liczniki: id, idprofil

w configu sfguarduser podałem tabelę profil
sf_guard_plugin:
profile_class: Profil
profile_field_name: user_id
Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

do czego służy ten kawałek kodu w metodzie save modelu BasesfGuardUser:
foreach (sfMixer::getCallables('BasesfGuardUser:save:post') as $callable)
{
call_user_func($callable, $this, $con, $affectedRows);
}

?
można by to wykorzystać?
czytałem o paranoid behavior, ale nie umiem tego wykorzystać.

konto usunięte

Temat: rozszerzenie metody save modelu

Albo się pod to podpiąć z odpowiednią metodą klas które mają stworzyć swój rekord w bazie.
Albo (ostatnio preferuje) trigger after insert w bazie;-)
Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

Michał Wujas:
Albo się pod to podpiąć z odpowiednią metodą klas które mają stworzyć swój rekord w bazie.
Albo (ostatnio preferuje) trigger after insert w bazie;-)

szczerze to nie za bardzo zrozumiałem.

załóżmy, że chcę to zrobić za pomocą symfony i propela - nie w bazie.
przydałaby się tylko metoda, która wykona się po akcji save modelu sf_guard_user i która będzie miała dostęp do świeżo dodanego obiektu, żeby można było pobrać ID;)
jakieś pomysły?

konto usunięte

Temat: rozszerzenie metody save modelu

Zobacz sobie jak jest act as nested zbudowane, tak samo się podpinasz pod guarda.
Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

Michał Wujas:
Zobacz sobie jak jest act as nested zbudowane, tak samo się podpinasz pod guarda.

aha, czyli jednak trzeba ręcznie podać co oznacza to
BasesfGuardUser:save:pre


w pliku :
plugins\sfGuardPlugin\config\config.php

tak?

do tego co wyżej napisałem będzie taki hak:


sfPropelBehavior::registerHooks('BasesfGuardUser', array(
':save:post' => array('sfGuardUser', 'postSave')));


dobrze kombinuję?

konto usunięte

Temat: rozszerzenie metody save modelu

Jak na sobotę wieczór to całkiem nieźle ;)
Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

Michał Wujas:
Jak na sobotę wieczór to całkiem nieźle ;)

oj nie nabijaj się:)
myślałem, że włączając w propel.ini behaviory automatycznie będzie taki hak rejestrowany.

zaraz to wypróbuję. mam nadzieję, ze pójdzie dobrze.
dzięki.
Adam W.

Adam W. senior php
developer, Symfony

Temat: rozszerzenie metody save modelu

już wiem.
behaviors - nie tędy droga. do tego zadana wystarczy nadpisać metodę save.
widocznie wcześniej coś źle ją przygotowałem bo nie działała. teraz na spokojnie to rozpisałem i działa świetnie:)

dzięki za zainteresowanie.
pozdrawiam



Wyślij zaproszenie do