![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z dodawaniem rekordów do tabeli z kluczem złożonym. Jest to mój pierwszy projekt z doctrine (1.x) i powiem, że tutaj poległem.
Sytuacja wygląda następująco: jest tablica w której trzymam tłumaczenia entries, posiadająca klucz główny składający się z id i lang. Jest ona powiązana z innymi tablicami poprzez id, tzn. mam przykładowo tablicę employees w której mam FK entries.id. Nie potrafię sobie poradzić z dodaniem rekordów do entries i połączeniem tego z employees. Po zapisaniu do entries
w $eid mam tylko lang='pl' i nie zwraca mi id (mam null) które potrzebuje do wstawienie kolejnego rekordu np. dla lang='en' oraz do wstawienia do employees Proszę o sugestie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Fakt, zbyt mało naświetliłem sprawę;-)
Tłumaczenia są u mnie robione dwutorowo. Drobne elementy, które są stałe w aplikacji, tłumaczone są przez Zend_Translate. Mam tutaj na myśli wszystkie teksty dotyczące obsługi formularzy - labele, errory itp, czy jakieś inne stałe opisy stron. Pozostałe treści, które mogą być edytowane przez użytkowników trzymam w tabeli z tłumaczeniami. Przykładowo, opis zakresu obowiązków pracownika, który może być edytowany przez usera trzymam w tabeli employees jako FK do tabeli z tłumaczeniami (entries). Tabela entries zawiera klucz złożony (id, lang) i inne kolumny typu title czy content zawierające właściwe teksty.
W zależności od języka rozpoznanego w aplikacji do opisu pracownika wybierany jest odpowiedni tekst (entries->find(id, lang). Tak załatwione są wszystkie elementy mogące być tłumaczone. Jak się domyślasz tabel zawierających relację do tłumaczeń jest sporo. Inna, to chociażby tabela zawierająca opisy plików uploadowanych do aplikacji przez userów. Tam jest kolumna z opisem pliku, który jest tłumaczony w zależności od języka i w tabeli files jest również FK do entries. Sprawa rozbija się o obsługę klucza złożonego w entries. Doczytałem, że w doctrine 1.2 nie jest to domyślnie rozwiązane. W związku z tym proszę o sugestie dotyczące rozwiązania tego problemu. Ostatecznie mogę przerobić projekt bazy i zmienić taktykę tłumaczenia. Przyznam, że zatrzymałem się na tym i jestem już dość zdesperowany;-) Proszę o pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 16:04 |