Примеры работы с EntityFieldQuery

Один раз начав работать с EntityFieldQuery, вы уже не захотите городить SQL запросы с джойнами таблиц полей сущностей. Что то сложное, возможно, сделать будет слишком трудно на этом конструкторе, но типовые выборки данных делать приятно, быстро и удобно.

Правда, как это часто бывает в Drupal, очень мало примеров использования этого contributed API.

Пример №1 : выбор публикаций с условием к одному из полей сущности.

Здесь я выбираю публикации типа dstr (карточки дистрибьюторов), фильтруя их по названию и значению поля field_site (адрес сайта в карточке дистрибьютора).

Вот пример работы с результатом запроса:

Пример №2 : используем EntityFieldQuery для поиска в таксономии.

Для запроса может понадобится код (vid) словаря. Получите его по имени следующим образом:

Найдем в словаре станцию метро (термин) с заданным названием и городом:

Пример очень похож на предыдущий. Практически EntityFieldQuery уравнивает работу с таксономией и нодами.

Пример обработки результата:

Пример №3 : используем EntityFieldQuery для поиска в field collection.

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

В первом примере мы искали среди node типа ‘дистрибьютор’. У данной публикации одно из полей field_addr оказалось сформировано модулем field_collection — набор карточек адресов данного дистрибьютора.

Давайте поищем среди этого набора карточек.

Мало букафф? Читайте есчо !

Изменяем число выводимых комментариев на страницу в Drupal

Май 31, 2019 г.

С комментариями в Drupal во все времена было на мой взгляд - всё сложно. В 7ке сущность стала частью конструктора, стало веселее, но общий шаблон комментариев так и остался "костью в горле" у многих программистов. В настройках типа публикации вы ...

Читать

Удалить список публикаций со страницы термина таксономии в Drupal

Апрель 10, 2021 г.

Стандартный шаблон страницы термина таксономии taxonomy-term.tpl.php не позволяет управлять выводом публикаций, он лишь служит как обертка для полей термина. Единственная настройка CMS, которая влияет на вывод списка - это переменная default_nodes_main, ...

Читать

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Программное создание параграфов (ParagraphsItemEntity) в Drupal

Май 24, 2019 г.

Пример кода, как программно реализовать создание параграфа (речь идет о модуле - paragraphs). Обычно параграфы создаются редакторами через админку, но иногда требуется создать новый параграф с помощью кода, например, при импорте данных, структурных ...

Читать
 

Комментарии к «Примеры работы с EntityFieldQuery»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: