OrderBy obtiene los datos más recientes después de groupBy en el marco YII2

$consulta = COrder::find()->alias('co') 
    ->leftJoin(CollagePGoods::tableName() . ' g', 'co.g_id = g.g_id') 
    ->select('co.* , FROM_UNIXTIME(max(`co`.suat)) as max_time,g.info,g.img') 
    ->where(['co.uid'=>$uid]); 
if (!empty($params['cluster_type']) && $params['cluster_type'] != 100) { 
    $query->andwhere(['co.user_type' => $params['cluster_type']]); 
} 
$consulta->yDónde(['co.stat' => $collage_sta]); 
$consulta->yDónde(['co.deleted_at' => null]); 
$consulta-> groupBy('co.g_id'); 
if($order_by == 'su_at'){ 
    $consulta-> orderBy([' max_time' => $order_by_type]); 
}else{  
    $consulta->orderBy(['co.'.$order_by => $order_by_type]);
} 
//dd($consulta->getSql());
$numerodepagina = $pagina - 1; 
$totalCount = $consulta->count(); 
$páginas = nueva Paginación(['totalCount' => $totalCount, 'pageSize' => $pageSize]); 
$paginas->setPage($paginaNumero); 

$lista = $consulta->desplazamiento($páginas->desplazamiento)->límite($páginas->límite)->asArray()->all();

Supongo que te gusta

Origin blog.csdn.net/hechenhongbo/article/details/124603540
Recomendado
Clasificación