Gdy zagłębisz się w dokumentację mysql i wyszukaj funkcję RAND(), którą zobaczysz, możesz użyć "ziarna".
Używając nasiona, zawsze uzyskasz te same wyniki, które są losowe.
Przykład:
$products = Product
::all()
->orderBy(DB::raw('RAND(1234)'))
->paginate(4);
Możesz wygenerować własne ziarno i zapisać w sesji lub coś, co pozwoli je zapamiętać.
Aktualizacja
Narzędzie do tworzenia zapytań Laravel ma teraz funkcję, która robi dokładnie to samo:
$products = Product
::all()
->inRandomOrder('1234')
->paginate(4);