EntityFieldQuery ist nicht zum Ausführen von Aggregatfunktionen (SUM, AVG usw.) für Felddaten vorgesehen, da es SQL-unabhängig ist. Das heißt, solche Operationen müssen von Zeit zu Zeit durchgeführt werden. Entsprechend der SQL-Funktion mit EntityFieldQuery und insbesondere EntityFieldQuery und der Verwendung der Aggregatfunktionen SUM, ARG und MAX müssen SQL-Abfragen verwendet werden, und dieser Ansatz passt am besten zu meinem Anwendungsfall. Ich habe gestern mit @chx gesprochen und er hat empfohlen, einige interne Funktionen zu verwenden, um den Feldnamen und den Spaltennamen zu finden. Ich frage mich nur, ob dies nachhaltig ist und ob es angebracht ist, dies in einer Codebasis zu tun, die ich möglicherweise für andere herausbringe.
Wenn es der beste Weg ist, dann ist es der beste Weg. Ich möchte es einfach nicht tun, bevor ich mir absolut sicher bin, weil es sich chaotisch anfühlt.
_field_sql_storage_tablename($field)
und_field_sql_storage_columnname($field_name, $column
) verwendet, die meinen aktuellen Anforderungen entsprechen, aber sie sind nicht nachhaltig. Deshalb bin ich immer noch an einer Antwort auf diese Frage interessiert, falls eine kommen sollte.