Score:1

จะอัปเดตฟิลด์อนุกรมวิธานด้วยอาร์เรย์ของคำศัพท์ได้อย่างไร

ธง fr

ฉันมีร่างกายแบบนี้

{
    "รหัสผู้ใช้": 435,
    "territories_id":[176,139]
}

โดยที่ userid คือรหัสผู้ใช้ drupal และฉันต้องปรับปรุงฟิลด์ field_user_territory ซึ่งเป็นช่องอนุกรมวิธาน ฉันไม่ต้องการให้ดินแดนก่อนหน้านี้ไปแทน ฉันต้องอัปเดตด้วยอีก 2 ดินแดน

นี่คือรหัสที่ฉันพยายาม

foreach ($territories_id เป็น $territory_id) {

     
        
            $user = \Drupal\user\Entity\User::load($userid);
            $user->field_user_territory->target_id = $territory_id;
            $user->save();
        
    }

แต่ที่นี่ดินแดนก่อนหน้านี้หายไป

Score:3
ธง cn

คุณอาจต้องการผนวกรายการฟิลด์:

$user = \Drupal\user\Entity\User::load($userid);
foreach ($territories_id เป็น $territory_id) {
  // เวอร์ชันเต็ม (ทำงานร่วมกับการเติมข้อความอัตโนมัติใน IDE)
  $user->get('field_user_territory')->appendItem(['target_id' => $territory_id]);
  // เวอร์ชันสั้นในไวยากรณ์ของอาร์เรย์
  // $user->field_user_territory[] = $territory_id;
}
$user->save();
Rifas Ali avatar
fr flag
ขอบคุณมันได้ผล
Rifas Ali avatar
fr flag
มีวิธีใดที่จะหลีกเลี่ยงการทำซ้ำ ?
4uk4 avatar
cn flag
ขออภัย ย้ายรุ่นที่สองในความคิดเห็น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา