![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Piszę aplikację we frameworku Kohana 2.3.4 używając ORM i AJAX. Mam problem z zapisaniem danych dotyczących poszczególnych tabel w tabeli łączącej. W bazie mam 3 tabele:
Dodając nowego studenta przypisuję mu kilka przedmiotów. Później AJAXem wysyłam zapytanie, jeśli jest ok to zapisuje studenta (co ozacza, że mam jego ID). Metoda zwracająca dane:
I zapytanie AJAXowe:
Przy zapisywaniu studenta dostaję komunikat:
W modelach:
W tabeli Student zapisują się studenci, a w tabeli Subjects zapisują się przedmioty. Nie mam pojęcia natomiast jak w tabeli pośredniej zapisać te dane. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A zerknąłeś chociaż do dokumentacji ORM Kohany? http://docs.kohanaphp.com/libraries/orm/st...belongs_to_many Bo mam wrażenie, że o czymś zapomniałeś (IMG:style_emoticons/default/wink.gif) Popatrz pod podany link, a zobaczysz, że masz malutki brak zapewne.
EDIT: Jeśli nie łapiesz, to może popatrz na wzorzec nazwy kluczy w tabeli łączącej (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Sorki, ale niestety nie łapie.
Oczywiście, że zerknąłem do dokumentacji i wg niej Tworzyłem tabele i połączenia. Relacje w modelach są ustawione dobrze. Tabela łącząca ma przecież 'student_id' i 'subject_id'. Nazwy są w liczbie pojedyńczej, tak jak w dokumentacji. Na początku myślałem, że po ustawieniu relacji to framework sam zapisze, ale zaglądając do tabeli po zapisaniu danych nic się nie dzieje. Więc nie wiem czy mam ustawiać dopisywanie ID'ków czy w jaki sposób to rozwiązać. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ale w Twoim poście nazwy tabel masz w liczbie mnogiej (IMG:style_emoticons/default/smile.gif) A wzorzec nazwy to NAZWATABELI_id, tak więc klucze powinny brzmieć subjects_id i students_id.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niestety jesteś w błędzie. Zgodnie z dokumentacją to właśnie tabele mają liczbę pojedyńczą. Tak czy inaczej - dzięki za chęć pomocy (IMG:style_emoticons/default/smile.gif)
Znalazłem rozwiązanie problemu:
Może komuś się przyda. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:51 |