Score:0

การเข้าถึงข้อมูลที่มีการป้องกันเมนู

ธง pt

ข้อมูลที่ได้รับการป้องกันของออบเจกต์เมนู ดังภาพด้านล่าง จะเข้าถึงได้อย่างไร ?

ป้อนคำอธิบายรูปภาพที่นี่

โดยใช้ $menu->id() ทำงานและส่งคืน ID เมนู แต่ยิ่งกว่านั้น $menu->ค่า ก็ไม่เช่นกัน $menu->get('ค่า') งาน.

4uk4 avatar
cn flag
ในการรับค่าทั้งหมดให้ใช้ `->toArray()` ดูคำถามเดียวกันสำหรับโหนด https://drupal.stackexchange.com/questions/233098/how-to-access-values-in-node-object
Score:0
ธง cn

เป็นเอนทิตีเนื้อหา คุณจึงเข้าถึงฟิลด์โดยใช้วิธีการวิเศษ เช่น

$x = $เมนู->field_foo->ค่า;
pt flag
ฉันลอง `$menu->values->value` แต่มันกลับเป็น null `$menu->values` เป็นอาร์เรย์ในวัตถุเมนู และฉันแม้ว่าจะเรียกวิธีการวิเศษโดยใช้ `$menu->get('values')` ?
cn flag
`$values` จริง ๆ แล้วเก็บค่าสำหรับคุณสมบัติของเอนทิตี (ไม่ใช่คุณสมบัติของคลาส อาจทำให้สับสนเล็กน้อย) เมื่อคุณใช้ `$entity->foo` คุณกำลังขอ `$values['foo']` ผ่านทางเวทย์มนตร์ (https://api.drupal.org/api/drupal/core%21lib%21Drupal% 21Core%21Entity%21ContentEntityBase.php/function/ContentEntityBase%3A%3A__get/8.2.x) คุณไม่จำเป็นต้องพยายามเข้าถึง `$values` โดยตรง อันที่จริงคุณไม่สามารถทำได้เนื่องจากไม่มีวิธีการสาธารณะ แต่คุณสามารถใช้เวทมนตร์ get เพื่อขออะไรก็ได้ภายในนั้น หวังว่าจะเคลียร์ได้ แต่ถ้าไม่ ให้แก้ไขโพสต์และพูดถึงสิ่งที่คุณ...
cn flag
...พยายามไปให้ถึง และมันควรจะง่ายพอที่จะชี้ทางที่ถูกต้องให้คุณ

โพสต์คำตอบ

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