À quoi sert addExpressionFieldToSelect par rapport à addFieldToSelect?


9

J'étudie Magento et je ne comprends pas vraiment à quoi sert addExpressionFieldToSelectOver addFieldToSelect? Je n'ai trouvé la réponse nulle part dans ma lecture. Pour autant que je sache, cela semble être la réécriture des noms de champs - mais seulement si vous passez dans un tableau avec la réécriture. Pourquoi ne pourriez-vous pas simplement faire cela avec addFieldToSelect en premier lieu, si vous savez comment le champ doit être réécrit?

Réponses:


11

Dans addExpressionFieldToSelect(), vous pouvez passer une Zend_Db_Exprinstance avec une expression SQL arbitraire.

Ainsi, par exemple, cela est possible avec addExpressionFieldToSelect(), mais pas avec addFieldToSelect():

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

et entraîne une requête SQL avec

SELECT UPPER(name) as name_in_upper_case FROM ...

Les espaces réservés pour les noms de champs sont juste du sucre syntaxique en haut.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.