Рейтинг:0

Как запросить все объекты, для которых поле с несколькими значениями не содержит определенного значения?

флаг cn

У меня есть поле с несколькими значениями, которое содержит обычный текст. Вот как это выглядит из формы редактирования.

Скриншот

Я хочу получить объекты, которые не содержат Истекший стоимость. Как этого добиться?

Это код, который я написал до сих пор.

$query = \Drupal::entityQuery('taxonomy_term')->условие('vid', 'series');
$group = $query->orConditionGroup()
  -> не существует ('field_multi_value')
  ->условие('field_multi_value', 'истек срок действия', 'НЕ ВНУТРИ');
$ запрос-> условие ($ группа);
$ids = $запрос->выполнить();
Рейтинг:0
флаг fr

Насколько мне известно, вы должны разделить его на 2 запроса, потому что EntityQuery все равно выберет таксономию_термин, если у него есть другое значение, которое не истекший. Понятия не имею, ошибка это или так задумано (потому что технически таксономия_термин имеет значение, НЕ истекший, в вашем примере Какой-то текст).

Таким образом, код будет выглядеть так:

$unwantedIds = \Drupal::entityQuery('taxonomy_term')
  ->условие('field_multi_value', 'истек срок действия')->выполнить();
$query = \Drupal::entityQuery('taxonomy_term')
  ->condition('tid', $unwantedIds ?: [-1], 'НЕ ВНУТРИ');
$ids = $запрос->выполнить();

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

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