public function Fraction::clickSort in Fraction 2.x
Same name and namespace in other branches
- 8 src/Plugin/views/field/Fraction.php \Drupal\fraction\Plugin\views\field\Fraction::clickSort()
Adds an ORDER BY clause to the query for click sort columns.
Parameters
string $order: Either ASC or DESC
Overrides FieldPluginBase::clickSort
File
- src/Plugin/ views/ field/ Fraction.php, line 63 
Class
- Fraction
- Field handler for Fraction database columns.
Namespace
Drupal\fraction\Plugin\views\fieldCode
public function clickSort($order) {
  // Ensure the main table for this field is included.
  $this
    ->ensureMyTable();
  // Formula for calculating the final value, by dividing numerator by
  // denominator.
  // These are available as additional fields.
  $numerator = $this->tableAlias . '.' . $this->definition['additional fields']['numerator'];
  $denominator = $this->tableAlias . '.' . $this->definition['additional fields']['denominator'];
  // Multiply the numerator field by 1.0 so the database returns a decimal
  // from the computation.
  $formula = '1.0 * ' . $numerator . ' / ' . $denominator;
  // Add the orderby.
  $this->query
    ->addOrderBy(NULL, $formula, $order, $this->tableAlias . '_decimal');
}