Имея отношение 1 ко многим в Учении, но имея 2 поля, являющиеся первичным ключом на другом конце - PullRequest
0 голосов
/ 31 января 2010

Кто-нибудь знает, как я могу иметь отношение 1 ко многим в доктрине, но таким особым образом:

в моей основной таблице у меня есть несколько полей, почти ни одно из которых не является полем, которое может иметь перевод

Table1:
table_id <- primary key
numeric_field1
numeric_field1
numeric_field3

теперь в моих Table1_translations у меня есть все поля, которые можно перевести

Table2:
table_id <- primary key along with language
language <- this contains 2 letters representing which language is being stored in this row
string_field1
string_field2
string_field3

У меня есть простая идея о том, как представить это с помощью YAML, но мой вопрос будет таким: как я могу получить эти данные?

Table1:
table_id numeric_field1 numeric_field2 numeric_field3
 1             123           321            415

Table2
table_id language string_field1 string_field2 string_field3
 1         en        hello         happy         world
 1         es        hola          feliz         mundo

Итак, для строки с table_id = 1 у меня есть 2 строки в таблице 2, которые соответствуют строкам на каждом языке (en & es), при этом я пытаюсь управлять какой-то локализацией, но в базе данных, поскольку они тексты

заранее спасибо:)

1 Ответ

1 голос
/ 02 февраля 2010

Я думаю, что все, что вам нужно, это добавить предложение where, определяющее, какой язык вы хотите, основываясь на локализации. Поэтому, если вы в приложении или базе данных сохраняете языковую переменную для пользователя, то вы просто добавляете предложение where, ссылающееся на эту переменную или присоединяющееся к пользовательской таблице, чтобы получить локальный язык, который нужен этому человеку (хотя я бы предложил захват это значение один раз при входе в систему и сохранении его в течение всей сессии).

...