Witam
Jestem obecnie w trakcie pisania klasy do zarządzania news'ami. Założenie jest takie, iż newsy mogą być w wielu wersjach językowych a dany news może (ale nie musi) mieć swój odpowiednik w innej wersji językowej.
Jezeli ktos na stronie bedzie czytal news np w jezyku polskim i przelaczy sie na wersje np angielską wowczas system musi sprawdzić czy dany news polski, posiada swoj odpowiednik w wersji angielskiej, jesli tak wyswietlic go, jesli nie, wyswietlic liste newsow w danym jezyku.
Borykam się z problemem, jak zaprojektowac tabele w bazie danych.
W chwilii obecnej mam tak:
tabela `languages` id | name | code np. 1 | Polski | pl
tabela `news` id | title | short_desc | long_desc | lang_code | odpowiedniki | np. 3 | Tytuł newsa | Krótki opis | Długi opis | pl | <odpowiedniki>
W miejscu <odpowiedniki> mam zserializowane tablice w postaci:
[3] = array
{
[0] = array
{ 'id' => 8
'lang' => de
}
[1] = array
{ 'id' => 9
'lang' => ru
}
}
Dzieki czemu wiem, ze news o ID = 3 ma odpowiedniki o ID 8 w wersji jezykowej de, ID 9 w wersji jezykowej ru.
Jest to działające poprawnie rozwiazanie, do momentu kiedy strona jest w np 6 jezykach. Gdy dodaje news w kolejnej wersji jezykowej np w szóstej, to musze zrobić update pięciu pól "odpowiedniki".
Czy ktoś z was, ma jakiś pomysł jak inaczej stworzyc takie rozwiazanie?
Pozdrawiam