Рейтинг:0

Условие EntityQuery, только если поле существует

флаг ru

Как применить условие, только если поле существует?

$query = \Drupal::entityQuery('узел')
  ->условие('тип', 'видео')
  ->условие('field_tags', 39, '=')
  ->условие('статус', 1)
  ->условие('field_date_start', $now->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT), '<=')
  ->условие('field_date_end', $now->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT), '>=')
  ->выполнить();

Я хочу получить узлы, соответствующие условию о field_date_end но и те, которые не имеют значения для field_date_end.

Заранее спасибо !

Рейтинг:1
флаг ph

Что-то вроде этого:

$query = \Drupal::entityQuery('узел');
$ группа = $ запрос
  ->илиГруппаУсловий()
  ->условие('field_date_end', $now->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT), '<=')
  -> не существует ('field_date_end');
$результаты = $запрос
  ->условие('тип', 'видео')
  ->условие('field_tags', 39, '=')
  ->условие('статус', 1)
  -> условие ($ группа)
  ->выполнить();

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.