sql >> Base de Datos >  >> RDS >> Mysql

Laravel - Paginar registros aleatorios

Cuando te sumerges en la documentación de mysql y busque la funcionalidad RAND(), verá que puede usar una "semilla".

Al usar una semilla, siempre obtendrá los mismos resultados que son aleatorios.

Ejemplo:

$products = Product

    ::all()

    ->orderBy(DB::raw('RAND(1234)'))

    ->paginate(4);

Puede generar su propia semilla y almacenarla en una sesión o algo para recordarla.

Actualizar

El Generador de consultas de Laravel ahora tiene una función que hace exactamente lo mismo:

$products = Product

    ::all()

    ->inRandomOrder('1234')

    ->paginate(4);