![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 31.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Korzystam z K3.2 o ORM'a który tam jest zaproponowany. Pytanie jednak wydaje mi się błahe, ale do tej pory nie rozwiązane, a źródeł w sieci znaleźć nie mogę. Mam bazę danych: * users (dane użytkowników), klucze: id (jak zaleca nazewnictwo ORMa) i car_id * cars (samochody użytkowników), klucze: id (jak zaleca nazewnictwo ORMa) i user_id Opis: Każdy user może mieć jedno auto lub nie mieć w ogóle. Nie może mieć dwóch w jednym momencie. Stare samochody (z ktorych nie korzysta) są dalej zapisane w bazie danych i mają jego ID (jako user_id) dzięki czemu łatwo można zrobić kwerendę wszystkich samochodów które posiadał (WHERE cars.user_id = x). W związku z tym, relacją podstawową, ktora jednoznacznie identyfikuje użytkownika i jego samochód jest: users.car_id = cars.id (a nie jest nią: users.id = cars.user_id!). User jeśli pozbędzie się samochodu to wyczyści się tylko w tabeli users pole 'car_id'. PROBLEM:
Nie chcę użyć czystego zapytania, bo chcę mieć dostęp do $user->car->marka. Ponadto zawsze kiedy pobieram użytkownika, zawsze pobieram jego samochód (nie będzie nigdy na stronie innej możliwości). * Czyli chcę uzyskać za pomocą ORMa:
A ORM zawsze mi składa:
czyli potrzebne mi uzyskanie "klucza głównego do relacji" z cars: car_id, a wszędzie indziej w połączeniach ma być users.id. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 02:39 |