sql >> Databáze >  >> RDS >> Mysql

Laravel - Paginate Random Records

Když se ponoříte do dokumentace mysql a vyhledejte funkci RAND(), uvidíte, že můžete použít "seed".

Použitím semene získáte vždy stejné výsledky, které jsou randomizovány.

Příklad:

$products = Product

    ::all()

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

    ->paginate(4);

Můžete si vygenerovat své vlastní semeno a uložit ho do relace nebo něčeho, co si to zapamatujete.

Aktualizovat

Tvůrce dotazů Laravel nyní má funkci, která dělá přesně to samé:

$products = Product

    ::all()

    ->inRandomOrder('1234')

    ->paginate(4);


  1. Co to znamená, když je proces PostgreSQL v transakci nečinný?

  2. Vypočítejte percentil z frekvence v MySQL

  3. Jak Bootstrap MySQL nebo MariaDB Galera Cluster - Aktualizováno

  4. Jak funguje TIMESTAMP() v MariaDB