CakePHP связанные данные HABTM от JOIN нужны оба связанных данных? - PullRequest
0 голосов
/ 02 марта 2012

Это должен быть простой ответ Да / Нет, так что здесь.

Если я установил 3 таблицы, 2 типовых набора записей и 1, который соединяет их по идентификатору 2 таблиц, нужен ли мне идентификатор из обеих таблиц, чтобы иметь запись в таблице объединения?

Сценарий - это таблица Jobs и таблица Parts, связанные таблицей JobsParts. Но некоторые детали не находятся в таблице деталей, это просто записи в свободном тексте (чтобы избежать проблем управления запасами), принадлежащие Job.

Надеюсь, этого достаточно, чтобы объяснить мой вопрос.

Спасибо

Кстати, используя CakePHP 2.0

1 Ответ

1 голос
/ 02 марта 2012

В целях безопасности базы данных я бы сказал, что объединяющая таблица jobs_parts должна иметь оба идентификатора.

Если вы попытаетесь ввести детали свободной формы в таблицу соединений, вы не только увеличите размер таблицы соединений, но и фактически потеряете способность расти / расширяться, т.е. Что делать, если вы хотите добавить еще несколько полей к этой неизвестной части? Или что, если он окажется частью, которую вы на самом деле хотите видеть в своей обычной таблице деталей ... это просто запутывает.

Существуют и другие варианты работы с деталями произвольной формы в сравнении с фактическими деталями ...

  • есть поле в таблице деталей, которое содержит tinyint (1) для проверки того, является ли это проверенной деталью
  • ИЛИ сделать модель / таблицу UnknownParts

По моему мнению, придерживайтесь того, что имеет логический смысл для простоты понимания и будущих обновлений вашей базы данных / веб-сайта ... и т. Д. И IMO, добавление части свободной формы в таблицу соединений не будет соответствовать этому счету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...