Temat: Kohana 3 pobieranie danych z bazy przy użyciu ORM

Mam takie tabele:

USERS

id | login | haslo | miasto | kraj | data_rejestracji

PHOTOS

id | user_id

Korzystam z ORM i chciałbym otrzymać coś takiego:

user_id | login | data_rejestracji | photo_id

Dodam tylko, że każdy użytkownik może mieć dowolną ilość zdjęć a ja chcę pobrać tylko 1 zdjęcie dla każdego użytkownika (sortowanie po id, pierwsze które wystąpi). Ponadto użytkownik może nie mieć żadnego zdjęcia i wtedy w wyniku w photo_id powinien być NULL

Jak takie coś uzyskać ?Wojciech Potocki edytował(a) ten post dnia 26.07.10 o godzinie 15:19
Mateusz Wójcik

Mateusz Wójcik Java EE Developer

Temat: Kohana 3 pobieranie danych z bazy przy użyciu ORM

Ja widzę 3 wyjścia:

a) Utworzenie perspektywy, która zwraca takie pola (po prostu join) i do tego utworzenie odpowiedniego ORM-a

b) Relacja has_one w modelu oraz umieszczenie jej w polu protected $_load_with = array('photo'); - wtedy będzie tworzył zapytania z joinem a obiekt photo będziesz miał w $user->photo. Tylko tutaj możesz mieć problem bo niekoniecznie wybierze pierwsze zdjęcie po id

c) Po prostu query builder - utworzenie tego samego zapytania co w punkcie a tylko za pomocą DB::select()->from()->join() itd.

Temat: Kohana 3 pobieranie danych z bazy przy użyciu ORM

Wybrałem pierwsze rozwiązanie i działa, aż miło:) Dzięki!

Następna dyskusja:

Kohana 3.x ORM problem




Wyślij zaproszenie do