Puncte:1

Cum se actualizează câmpul taxonomiei cu o serie de termeni?

drapel fr

Am un corp ca acesta

{
    „userid”: 435,
    „teritorii_id”:[176,139]
}

Unde userid este id-ul utilizatorului drupal. Și trebuie să actualizez câmpul field_user_teritory care este un domeniu de taxonomie. Nu vreau să apară teritoriile anterioare, trebuie să actualizez cu încă 2 teritorii.

Acesta este codul pe care l-am încercat.

foreach ($territories_id ca $territory_id) {

     
        
            $user = \Drupal\user\Entity\User::load($user);
            $user->field_user_territory->target_id = $teritory_id;
            $utilizator->salvare();
        
    }

Dar aici teritoriile anterioare au dispărut.

Puncte:3
drapel cn

Probabil doriți să adăugați elementele de câmp:

$user = \Drupal\user\Entity\User::load($user);
foreach ($territories_id ca $territory_id) {
  // versiunea completă (funcționează cu completare automată într-un IDE)
  $user->get('field_user_territory')->appendItem(['target_id' => $territory_id]);
  // versiune scurtă în sintaxa matricei
  // $user->field_user_teritory[] = $teritory_id;
}
$utilizator->salvare();
Rifas Ali avatar
drapel fr
Mulțumesc că a funcționat
Rifas Ali avatar
drapel fr
Există vreo modalitate de a evita dublarea?
4uk4 avatar
drapel cn
Ne pare rău, am mutat a doua versiune într-un comentariu.

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.