Việc sử dụng addExpressionFieldToSelect trên addFieldToSelect là gì?


9

Tôi đang học Magento và tôi không thực sự hiểu việc sử dụng addExpressionFieldToSelecthơn là addFieldToSelectgì? Tôi đã không tìm thấy câu trả lời ở bất cứ đâu trong bài đọc của tôi. Theo như tôi có thể nói, nó dường như đang viết lại tên trường - nhưng chỉ khi bạn vượt qua trong một mảng với việc viết lại. Tại sao bạn không thể làm điều này với addFieldToSelect ở vị trí đầu tiên, nếu bạn biết trường nào sẽ được viết lại thành?

Câu trả lời:


11

Trong addExpressionFieldToSelect(), bạn có thể truyền một Zend_Db_Exprcá thể với một biểu thức SQL tùy ý.

Vì vậy, ví dụ, điều này là có thể với addExpressionFieldToSelect(), nhưng không phải với addFieldToSelect():

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

và kết quả trong một truy vấn SQL với

SELECT UPPER(name) as name_in_upper_case FROM ...

Các chỗ dành cho tên trường chỉ là đường cú pháp trên đầu trang.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.