Все ли нужно в комплекте?

11

Я узнаю об Entity API. У меня есть простая дополнительная таблица, которую я хотел бы «друпализировать», чтобы я мог использовать ее, например, в представлениях.

Я прочитал немало, посмотрел несколько видео, посмотрел немало примеров. Я застрял на концепции связки . Я понимаю, что такое связки (например, типы узлов - это связки сущности узла).

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

Я неправильно понял? Всегда ли пакеты должны быть реализованы и реализованы на уровне таблицы базы данных?

artfulrobot
источник

Ответы:

9

Да, связка всегда, всегда необходима для сущностей.

Если вы не определите свои собственные наборы, система сущностей назначит для вас набор по умолчанию с тем же именем, что и тип сущности, и этот будет использоваться.

Если у вас есть только один пакет, и вы планируете иметь только один пакет, то вам не нужно иметь специальное поле в таблице сущностей для него. Как вы предполагаете в своем вопросе, оно всегда будет одинаковым, поэтому будет избыточным и просто добавит дополнительные издержки (хотя и крошечные) к вашим запросам в БД.

Если вы думаете, что в какой-то момент вам, возможно, придется различать разные подтипы вашей сущности, стоило бы построить это с самого начала; это действительно зависит от вашего варианта использования.

Клайв
источник
Хотя, если у сущности должен быть пакет, как получается, что сам пакет может быть сущностью (?!)
artfulrobot
1
Я почти уверен, что речь идет только об идее абстрагирования функциональности CRUD в общий тип сущностей и повторного ее использования во всей системе, чтобы все объекты (сущности, пакеты, поля и т. Д.) Могли использовать свои преимущества без необходимости реализовывать свои собственные , С точки зрения сущности Drupal (узла, пользователя и т. Д.), Связка - это совсем другое. Если связка действительно была сущностью Drupal, она сама может иметь связки, что не имеет смысла :)
Клайв