Wie erhalte ich eine berechnete Spalte mit db_select?


7

Ich benötige Summe (Punkte)? Hilfe zum Hinzufügen des unten angegebenen Beispielcodes?

$query = db_select('digitaliq_question_points','n')
  ->fields('n',array('points'))
  ->condition("node_id", $node->nid, '=')
  ->condition('n.fld_group', $fields, 'IN');

$points = $query->execute()->fetchAll();

Antworten:


9

Sie können die addExpression()Methode verwenden:

$query = db_select('digitaliq_question_points','n')
  ->fields('n',array('points'))
  ->condition("node_id", $node->nid, '=') 
  ->condition('n.fld_group', $fields, 'IN');

$alias = $query->addExpression('SUM(points)', 'sum_of_points');

$points = $query->execute()->fetchAll();

Natürlich muss sich dies je nach Rückgabewert / Gruppierungsanforderungen möglicherweise geringfügig ändern, aber das ist die Methode, nach der Sie suchen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.