2014-12-22 5 views
1

Почему TYPO3 Extension Builder не создает внешние ключи?TYPO3 Extension Builder Внешний ключ

Я установил некоторые отношения между моделями, но в SQL Code есть noe FKs только colums для значения ключа.

Кто-нибудь может мне помочь?

ответ

3

Cite из Kartsen Dambekalns

Это полубессознательное дизайнерское решение. Просто найдите дату, когда ограничения внешнего ключа, которые представлены в MySQL, и сравниваются с тем, когда TYPO3 был «рожден».

Конечно, было бы здорово добавить такие ссылки, особенно с MySQL всегда может справиться с themm, даже если базовый механизм хранения не обрабатывает их (в случае которых они будут просто игнорироваться).

(source)

Ничего не изменилось до сих пор, так что вам нужно создать внешние ключи самостоятельно после моделирования.

Ответ на комментарий:

, как вы справлялись отношения между двумя таблицами? например, у меня есть таблица люди, которая относится к таблице дому с колонками housenr

Это зависит от соотношения типа курса (1:n, n:1, m:n и т.д.) и Builder поддерживает создание отношений в моделировании инструмента отлично , Имейте в виду, что внешние ключи НЕ требуются для поддержания отношений в TYPO3.

Существует несколько правил, описанных в разделе документации TCA, то есть в указанном случае вы можете использовать тип поля select или group (with internal_type). Для отношения «многие ко многим» вам также понадобится создать таблицу MM. Если вы будете следовать этим документам, вы можете быть уверены, что в общей форме редактирования бэкэнда они будут обработаны должным образом.

Как упоминалось ранее Extension Builder поддерживает создание различных типов отношений в клик-клик инструмент моделирования и это достойно, чтобы провести некоторое время, чтобы играть с ним, чтобы увидеть, как отношения различных типов обрабатываются в TYPO3. Он использует те же правила, которые используются при создании отношений, также в расширениях pre-extbase. Более того, Builder добавляет требуемые методы к моделям, то есть для getting, attaching и detaching объектов MM данного поля отношений, поэтому наиболее важно моделировать все ваши отношения при запуске. В другом случае вам нужно будет написать эти методы вручную (что является скучным процессом)

+0

спасибо, ладно, тогда я сделаю это вручную, могу ли я сделать это в ext_tables.sql ist, что хорошо? – Felix

+0

TBH Я никогда не добавлял внешние ключи в TYPO3, поэтому не хочу об этом говорить. Я надеюсь, что вы поделитесь своим опытом, когда вы это сделаете. – biesior

+0

как вы справлялись с отношениями между таблицами? Например, у меня есть стол, который относится к столовому дому с колонкой housenr , а позже я wanne рендерингую все дома со своими родственниками? – Felix

 Смежные вопросы

  • Нет связанных вопросов^_^