Wojciech Potocki ...
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
Programista PHP,
Grupa PFF
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.
Wojciech Potocki ...
