ユーザーがそのフィールドに複数の分類用語を追加できるエンティティ参照フィールドを持つコンテンツタイプがあります。そのフィールド内に特定の分類用語のセットを持つノードを取得するクエリを実行しようとしています。
そのフィールドで1つの値を使用すると、うまく機能します。
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', 2)
->sort('field_last_name', DESC);
ここで、2は検索する用語のIDです。ただし、そのような2つの特定の用語を含むノードを検索しようとすると、
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8])
->sort('field_last_name', DESC);
エラーが表示されます
無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません:
私も試みました
$query = \Drupal::entityQuery('node')
->condition('status', NODE_PUBLISHED)
->condition('type', 'custom_type')
->condition('custom_taxonomy', [2,8], 'IN')
->sort('field_last_name', DESC);
これは失敗しませんが、意図した結果を提供しません。これは、どちらかの用語2持っているすべてのノードが表示さOR代わり項2の期間8 と意図される用語8を。ノードのエンティティ参照フィールドに複数の特定の値があるかどうかを確認するクエリを実行するにはどうすればよいですか?