与addFieldToSelect相比,addExpressionFieldToSelect有什么用?


9

我正在研究Magento,但我不太了解addExpressionFieldToSelectover 的用途是addFieldToSelect什么?我在阅读中的任何地方都找不到答案。据我所知,这似乎是在重写字段名称-但仅当您使用重写传递数组时才如此。如果您知道应该将字段重写为什么,那么为什么不首先使用addFieldToSelect进行操作呢?

Answers:


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 ...

字段名的占位符只是语法糖。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.