function views_plugin_query_default::add_orderby
Same name in other branches
- 7.x-3.x plugins/views_plugin_query_default.inc \views_plugin_query_default::add_orderby()
Add an ORDER BY clause to the query.
Parameters
$table: The table this field is part of. If a formula, enter NULL.
$field: The field or formula to sort on. If already a field, enter NULL and put in the alias.
$order: Either ASC or DESC.
$alias: The alias to add the field as. In SQL, all fields in the order by must also be in the SELECT portion. If an $alias isn't specified one will be generated for from the $field; however, if the $field is a formula, this alias will likely fail.
$params: Any params that should be passed through to the add_field.
File
-
plugins/
views_plugin_query_default.inc, line 851
Class
- views_plugin_query_default
- Object used to create a SELECT query.
Code
function add_orderby($table, $field, $order, $alias = '', $params = array()) {
if ($table) {
$this->ensure_table($table);
}
// Only fill out this aliasing if there is a table;
// otherwise we assume it is a formula.
if (!$alias && $table) {
$as = $table . '_' . $field;
}
else {
$as = $alias;
}
if ($field) {
$as = $this->add_field($table, $field, $as, $params);
}
$this->orderby[] = "{$as} " . strtoupper($order);
/**
* -- removing, this should be taken care of by field adding now.
* -- leaving commented because I am unsure.
// If grouping, all items in the order by must also be in the
// group by clause. Check $table to ensure that this is not a
// formula.
if ($this->groupby && $table) {
$this->add_groupby($as);
}
*/
}