/**
* Ajoute à $query les clauses de tri stockées en session
*
* @param QueryInterface $query
* @param string $sessionKey La clé de session, en principe au format : app\models\MaClasse.sort
* @return QueryInterface
*/
public static function updateQuery(QueryInterface $query, $sessionKey)
{
// La clé de session contient un tableau au format : nom_colonne => ordre_de_tri
$sortClauses = Yii::$app->session->get($sessionKey, []);
foreach ($sortClauses as $field => $clause) {
if ($clause == 'asc' || $clause == 'desc') {
$query->addOrderBy($field . ' ' . $clause);
}
}
return $query;
}