![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki problem: W bazie MySQL mam tabele news w której jest id, title, lang i translation lang to język newsa (1 to pl, 2 to en, 3 to de) translation to tłumaczenie, jeżeli utworzę newsa w języku polskim, otrzyma on id 1, to w translation dopisze 1 i lang 1. Jeśli będę chciał dodać jego tłumaczenie, to tworze newsa, otrzymuje on id 2, ale translation 1 ponieważ to tłumaczenie newsa o id 1 i lang 2. I tutaj mam problem, jak utworzyć tabelkę która pokaże newsa w języku polskim i obok czy są tłumaczenia na inne języki, mniej więcej coś takiego: Kod Nazwa | PL | EN | DE | ---------------------- tytuł | 1 | 1 | 0 | ----------------------- tytul2 | 1 | 1 | 1 | Ma ktoś jakiś pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
select + if lub select + case
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że lepiej użyć w modelu foreach i jakoś dopisać do tablicy jednego newsa drugą z id przetłumaczonych newsów i to przesłać do widoku.
Bo join działa chyba na 2 różne tabele w bazie? Czy da się jakoś w SQL połączyć kilka konkretnych wierszy i eksportować do tablicy? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz dla jednego newsa dodawać tłumaczeń zamiast tworzyć nowe newsy z tłumaczeniami ?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie niebardzo, stronka ma mieć możliwość dodania nieograniczonej liczby języków.
Napisałem coś takiego, może jak ktoś będzie miał podobny problem to się przyda
Na chwilę obecną wydaje mi się że będzie działało, bo jeszcze nie zdążyłem przetestować. Do komunikacji z MySQL korzystam z klasy z kohany 3 Ten post edytował voot 18.02.2014, 21:19:10 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale w rozwiązaniu które Ci podałem wcale Cie nie ogranicza.
Dodajesz wpis w tabeli news, w tabeli news_translation dodajesz jego tłumaczenie z ID języka i tyle. Potem sprawdzasz które nie mają tłumaczenia poprzez join z tabelą językową i gotowe. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:22 |