Sortable::augmentSQL PHP Method

augmentSQL() public method

See also: DataExtension::augmentSQL()
public augmentSQL ( SQLQuery &$query )
$query SQLQuery
    public function augmentSQL(SQLQuery &$query)
    {
        $select = $query->getSelect();
        if (empty($select) || $query->getDelete() || in_array("COUNT(*)", $select) || in_array("count(*)", $select)) {
            return;
        }
        if (!isset(self::$sortTables[$this->owner->class])) {
            // look up the table that has the SortOrder field
            $class = ClassInfo::table_for_object_field($this->owner->class, 'SortOrder');
            self::$sortTables[$this->owner->class] = $class;
        } else {
            $class = self::$sortTables[$this->owner->class];
        }
        if ($class) {
            $query->addOrderBy("\"{$class}\".\"SortOrder\" " . self::$sort_dir);
        } else {
            $query->addOrderBy("\"SortOrder\" " . self::$sort_dir);
        }
    }