Was ist die Verwendung von addExpressionFieldToSelect gegenüber addFieldToSelect?

9

Ich lerne Magento und verstehe nicht wirklich, wozu addExpressionFieldToSelectOver gut ist addFieldToSelect. Ich habe die Antwort nirgendwo in meiner Lektüre gefunden. Soweit ich das beurteilen kann, scheint es sich um das Umschreiben von Feldnamen zu handeln - aber nur, wenn Sie ein Array mit dem Umschreiben übergeben. Warum können Sie dies nicht einfach mit addFieldToSelect tun, wenn Sie wissen, wie das Feld umgeschrieben werden soll?

sadq3377
quelle

Antworten:

11

In addExpressionFieldToSelect()können Sie eine Zend_Db_ExprInstanz mit einem beliebigen SQL-Ausdruck übergeben.

So ist dies beispielsweise möglich mit addExpressionFieldToSelect(), aber nicht mit addFieldToSelect():

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

und führt zu einer SQL-Abfrage mit

SELECT UPPER(name) as name_in_upper_case FROM ...

Die Platzhalter für Feldnamen sind nur syntaktischer Zucker.

Fabian Schmengler
quelle