Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 10 Dołączył: 16.11.2008 Ostrzeżenie: (0%)
|
Korzystam z pluginu sfDoctrineGuardPlugin. Dodatkowo mam w bazie tabelę przechowującą teksty literackie użytkowników, powiązaną z sfGuardUser:
Kod writing: actAs: Taggable: ~ Timestampable: ~ Sluggable: fields: [title] name: title_slug canUpdate: true unique: false columns: user_id: type: integer title: type: string(255) title_slug: type: string(255) content: type: clob relations: User: class: sfGuardUser type: one foreignType: many foreignAlias: Writings local: user_id foreign: id onDelete: CASCADE options: collate: utf8_unicode_ci charset: utf8 indexes: writings_index: fields: [created_at, updated_at, title_slug] Jeden użytkownik może być autorem wielu tekstów, a jeden tekst posiada jednego użytkownika (autora). Próbuję "dobrać się" do wszystkich tekstów użytkownika nie za pomocą zwykłego getWriters() w sfGuardUser, ponieważ zależy mi na istnieniu dodatkowej kolumny - nazwy użytkownika. W tym celu dopisałem metodę w sfGuardPlugin:
Niestety Doctrine zwraca mi zawsze tylko jeden rekord , pomimo że czysty SQL w konsoli PhpMyAdmin zwraca ich tyle, ile jest w bazie. Co ciekawe, jeśli wymuszę zachowanie na Doctrine::HYDRATE_NONE, to metoda użytkownika zwraca tyle rekordów co czysty SQL. Czy ktoś wie dlaczego Doctrine zwraca tylko jeden rekord? |
|
|
|
m44 [Symfony][Doctrine] Problem z prostym złączeniem. 5.10.2010, 18:42:29
olekbiker Doctrine najprawdopodobniej zwraca prawidłowy wyni... 5.10.2010, 19:40:58
m44 Miałeś rację, wszystko jest w obiekcie. Co ciekawe... 5.10.2010, 19:51:37
olekbiker Jeśli mogę jeszcze coś zasugerować. W mojej opinii... 6.10.2010, 09:37:30 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 22:47 |