ฉันได้รับอนุกรมวิธานผ่านปลั๊กอิน REST และฉันส่งคืนเป็นอาร์เรย์ที่ป้อนด้วย id เนื่องจากฉันต้องเข้าถึงด้วย id ด้วย แต่เมื่อฉันแสดงค่าใน HTML Select ฉันต้องเรียงลำดับตามน้ำหนัก ดังนั้นฉันจึงสั่งในฟังก์ชันจาวาสคริปต์ ฉันได้รับผลลัพธ์ที่ไม่คาดคิด และฉันตรวจสอบข้อเท็จจริงที่ว่า Term::weight() ส่งคืนสตริงแทนที่จะเป็น int หรืออย่างน้อยนี่คือสิ่งที่โค้ดทดสอบนี้แสดง:
ใช้ Drupal\taxonomy\Entity\Term;
[...]
$term = ระยะ::โหลด(407) ;
echo $term->name->value, " has weight ", $term->getWeight(), PHP_EOL ;
echo "และมันคือ ", gettype($term->getWeight()), PHP_EOL ;
โค้ดข้างต้นอยู่ในสคริปต์ drush และเมื่อฉันเรียกใช้ ฉันจะได้รับ
# /var/www/mysite/svil/vendor/bin/drush scr test.php
ตำแหน่งที่จะกำหนดมีน้ำหนัก 0
และมันเป็นสตริง
เอกสารสำหรับ ระยะ::getWeight()
อ้างว่าส่งคืนจำนวนเต็ม ฉันดูที่รหัส แต่การนำไปใช้นั้นง่าย
ฟังก์ชั่นสาธารณะ getWeight() {
ส่งคืน $this->get('weight')->value;
}
ซึ่งไม่ได้กล่าวถึงประเภทของผลลัพธ์
แน่นอนฉันสามารถสมัครได้ intval()
แต่ฉันอยากรู้ว่าเกิดอะไรขึ้นที่นี่