Puncte:0

Condiția câmpului de entitate cu „Nu conține” target_id pentru mai multe valori ale câmpului

drapel in

Entitatea E are o referință de câmp la Taxonomia T cu valoare multiplă.

E.field_term.value = [
  ['target_id' => 1],
  ['target_id' => 4],
  ['target_id' => 7],
  ['target_id' => 9],
];

Cum se interoghează lista de Entități E care nu conține Termenul T (term_Id = 7). Ma astept la ceva de genul asta:

$interogare = $this->entityTypeManager->getStorage('nod')->getQuery();
$query->condition('field_term.entity:taxonomy_term.tid', '7', 'NU CONTAIN');
    

Dar desigur QueryInterface::condiție nu accepta NU CONTINE ca operație. Multumesc pentru ajutor

Kevin avatar
drapel in
Ai încercat sau NU INTRA?
mr.Thi avatar
drapel in
Am incercat si NU IN. ambele nu au functionat.
4uk4 avatar
drapel cn
Acest lucru nu este posibil cu tabele unite. Vedeți https://drupal.stackexchange.com/questions/188969/how-to-use-entityquery-to-select-if-a-multiple-value-entityreference-field-does
mr.Thi avatar
drapel in
Mulțumesc @4k4. se pare că ar trebui să creez un câmp nou în entitatea E pentru a verifica condiția.
4uk4 avatar
drapel cn
Cea mai simplă metodă ar fi două interogări scăzute cu array_diff().
mr.Thi avatar
drapel in
@4k4, mulțumesc. de fapt, am făcut-o să funcționeze cu 2 interogări, așa cum ați spus înainte de a pune această întrebare. dar sper că unele dintre ele ca soluția %delta să funcționeze. dar cu confirmarea ta, știu că nu este disponibil momentan.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.