Qual è l'uso di addExpressionFieldToSelect su addFieldToSelect?


9

Sto studiando Magento e io in realtà non capire che cosa è l'uso di addExpressionFieldToSelectsopra addFieldToSelect? Non ho trovato la risposta da nessuna parte nella mia lettura. Per quanto ne so, sembra riscrivere i nomi dei campi, ma solo se si passa in un array con la riscrittura. Perché non puoi semplicemente farlo con addFieldToSelect in primo luogo, se sai come riscrivere il campo?

Risposte:


11

In addExpressionFieldToSelect(), è possibile passare Zend_Db_Exprun'istanza con un'espressione SQL arbitraria.

Ad esempio, questo è possibile con addExpressionFieldToSelect(), ma non con addFieldToSelect():

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

e genera una query SQL con

SELECT UPPER(name) as name_in_upper_case FROM ...

I segnaposto per i nomi dei campi sono solo zucchero sintattico in cima.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.