addExpressionFieldToSelect คืออะไรการใช้งานมากกว่า addFieldToSelect?


9

ฉันกำลังศึกษาวีโอไอพีและฉันไม่เข้าใจว่าการใช้addExpressionFieldToSelectเกินความจริงaddFieldToSelectคืออะไร? ฉันไม่พบคำตอบที่ใดก็ได้ในการอ่านของฉัน เท่าที่ฉันสามารถบอกได้ดูเหมือนว่าจะเขียนชื่อฟิลด์ใหม่ แต่ถ้าคุณส่งผ่านอาเรย์ด้วยการเขียนซ้ำ ทำไมคุณไม่สามารถทำสิ่งนี้กับ addFieldToSelect ตั้งแต่แรกถ้าคุณรู้ว่าฟิลด์ควรเขียนใหม่เป็นอย่างไร

คำตอบ:


11

ในaddExpressionFieldToSelect()คุณสามารถผ่านZend_Db_Exprอินสแตนซ์ด้วยนิพจน์ SQL โดยพลการ

ตัวอย่างเช่นนี่เป็นไปได้ด้วยaddExpressionFieldToSelect()แต่ไม่ใช่กับaddFieldToSelect():

$collection->addExpressionFieldToSelect(
    'name_in_upper_case',
    new Zend_Db_Expr('UPPER(name)'),
    []
);

และผลลัพธ์ในแบบสอบถาม SQL ด้วย

SELECT UPPER(name) as name_in_upper_case FROM ...

ตัวยึดตำแหน่งสำหรับชื่อเขตข้อมูลเป็นเพียงน้ำตาลประโยคด้านบน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.