Рейтинг:0

SOME_USER

флаг ht

Программное добавление поля таксономии в настраиваемый тип контента

Я хочу загружать объекты их владельцем. Это то, что у меня есть до сих пор:
\Drupal::logger('migrate_users')->notice("Привет старт");
$userStorage = \Drupal::entityTypeManager()->getStorage('пользователь');

$query = $userStorage->getQuery();
$uids = $запрос
  ->условие('статус', '1')
  ->условие('тип', 'ученик')
  ->выполнить();

$users = $userStorage->loadMultiple($uids);

// помощь по этой строке
$entities = \Drupal::entityTypeManager()
  ->getStorage('узел')
  ->загрузить по свойствам([
      'тип' => 'статья',
      'пользователь' => SOME_USER,
    ]);

\Drupal::logger('dssi_migrate_users')->notice("done");

Что мне нужно пройти для ?

Рейтинг:2
флаг de

Вы используете неправильное имя свойства только для передачи идентификатора пользователя.

Следующее будет работать:

$entities = \Drupal::entityTypeManager()
  ->getStorage('узел')
  ->загрузить по свойствам([
      'тип' => 'статья',
      'uid' => SOME_USER_ID,
    ]);

Если вы хотите получить объекты от нескольких пользователей, просто используйте массив:

$entities = \Drupal::entityTypeManager()
  ->getStorage('узел')
  ->загрузить по свойствам([
      'тип' => 'статья',
      'uid' => [uid1, uid2, uid3],
    ]);

загрузить по свойствам () использование метода buildPropertyQuery() для передачи значений в запрос, который использует условие "IN".

Рейтинг:0
флаг cn

То, что вы ищете, это В операция и я думаю loadByProperties метод действует только на Равно операция, поэтому используйте получить запрос метод, и вы можете добавить столько условий, сколько хотите, как показано ниже:

$nodeQuery = \Drupal::entityTypeManager()->getStorage('node')->getQuery();
$entities = $nodeQuery->условие('комплект', 'статья')->условие('uid', $uids, 'IN')->execute();
misterdidi avatar
флаг de
ваше решение правильное, но я думаю, что в этом случае это не нужно. Согласно документам, [loadByProperties()](https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityStorageBase.php/function/EntityStorageBase%3A%3AloadByProperties/9.3.x ) использует метод buildPropertyQuery(), который использует `IN` для построения своих условий.
Этот вопрос на других языках:
TH: SOME_USER
RO: SOME_USER
RU: SOME_USER
VI: SOME_USER

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

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