¿Puedo usar orderByRaw AND orderBy juntos? no parece funcionar para mí, la consulta resultante solo parece respetar orderByRaw
Return-1
intente poner orderBy primero y luego orderByRaw y vea el resultado @GeorgeAvgoustis
Sagar Naliyapara el
desafortunadamente esto no se puede hacer ya que primero debe ser aleatorizado y luego ordenar por el calificador final.
Regreso-1
1
Puede funcionar en conjunto, ya que al aplicar en la clasificación de la primera columna no se puede ver la clasificación de la segunda columna
Sagar Naliyapara
3
Aquí hay otra esquiva que se me ocurrió para mi clase de repositorio base donde necesitaba ordenar por un número arbitrario de columnas:
publicfunction findAll(array $where =[], array $with =[], array $orderBy =[],int $limit =10){
$result = $this->model->with($with);
$dataSet = $result->where($where)// Conditionally use $orderBy if not empty->when(!empty($orderBy),function($query)use($orderBy){// Break $orderBy into pairs
$pairs = array_chunk($orderBy,2);// Iterate over the pairsforeach($pairs as $pair){// Use the 'splat' to turn the pair into two arguments
$query->orderBy(...$pair);}})->paginate($limit)->appends(Input::except('page'));return $dataSet;}
User::orderBy('name', 'DESC') ->orderBy('email', 'ASC') ->get();
Respuestas:
Simplemente invoque
orderBy()
tantas veces como lo necesite. Por ejemplo:Produce la siguiente consulta:
fuente
User::orderBy(array('name'=>'desc', 'email'=>'asc'))
$user->orders = array(array('column' => 'name', 'direction' => 'desc'), array('column' => 'email', 'direction' => 'asc'));
get
ofirst
), simplemente instáleloorderBy
. De lo contrario, no.Puede hacer lo que @rmobis ha especificado en su respuesta, [Agregar algo más en él]
Usando
order by
dos veces:y la segunda forma de hacerlo es,
Utilizando
raw order by
:Ambos producirán la misma consulta de la siguiente manera,
Como @rmobis especificó en el comentario de la primera respuesta, puede pasar como una matriz para ordenar por columna de esta manera,
Una forma más de hacerlo es
iterate
en bucle,Espero eso ayude :)
fuente
Aquí hay otra esquiva que se me ocurrió para mi clase de repositorio base donde necesitaba ordenar por un número arbitrario de columnas:
Ahora, puedes hacer tu llamada así:
fuente