addFieldToSelectに対するaddExpressionFieldToSelectの使用は何ですか?


9

私はMagentoを勉強していますが、addExpressionFieldToSelectover の使い方がよくわかりませんaddFieldToSelect。私は私の読書のどこにも答えを見つけていません。私の知る限り、フィールド名を書き換えているようですが、書き換えで配列を渡した場合のみです。フィールドをどのように書き換える必要があるかわかっているのに、なぜ最初からaddFieldToSelectでこれを実行できないのでしょうか。

回答:


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

フィールド名のプレースホルダーは、単に構文上の糖衣です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.