![]() |
![]() |
![]()
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? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:25 |