Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%)
|
Mam takie tabele:
USERS
PHOTOS
Korzystam z ORM i chciałbym otrzymać coś takiego:
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ć ? Ten post edytował wiciu010 26.07.2010, 14:31:00 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Więc tak.
1. Po co Ci metoda action_index w modelu? Takie metody umieszcza się w kontrolerze (no chyba, że masz ku temu powody albo po prostu nazwa jest myląca). 2. Relacje zrobiłeś w drugą stronę. Powinno być: 1 użytkownik ma n zdjęć, 1 zdjęcie należy do 1 użytkownika. U Ciebie natomiast: 1 zdjęcie ma n użytkowników, 1 użytkownik należy do 1 zdjęcia (chyba, że efekt ponownie zamierzony). Co do pytania: w ORM tego nie zrobisz 1 sprytnym zapytaniem. Możesz pobrać obiekt użytkownika, a następnie tylko pierwszy element tablicy zdjęć poprzez $user->photos. Możesz też napisać zwykłe zapytanie (ręcznie lub poprzez Query Builder), które zwróci Ci dane w postaci tablicy lub obiektu (stdClass). |
|
|
|
wiciu010 [Kohana] pobieranie danych z bazy przy użyciu ORM 26.07.2010, 14:00:58
destroyerr Oj, to chyba nie wiesz czym jest ORM. Radzę uzupeł... 26.07.2010, 14:17:30 
wiciu010 Cytat(destroyerr @ 26.07.2010, 15:17... 26.07.2010, 14:27:42 
wiciu010 Cytat(phpion @ 26.07.2010, 15:56:14 )... 26.07.2010, 15:05:26
phpion Widoki zawsze będą wolniejsze od swojego odpowiedn... 27.07.2010, 06:48:29 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 06:45 |