Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] pobieranie danych z bazy przy użyciu ORM
wiciu010
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 29.04.2007

Ostrzeżenie: (0%)
-----


Mam takie tabele:

USERS

  1. id | login | haslo | miasto | kraj | data_rejestracji


PHOTOS

  1. id | user_id


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

  1. 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ć ?

Ten post edytował wiciu010 26.07.2010, 14:31:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
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).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 12:19