Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.06.2014 19:10:21

Колян

Как сделать рандоммный вывод из MysQL

Всем привет подскажите как сделать рандоммный вывод из бд?

#2 08.06.2014 19:53:56

Re: Как сделать рандоммный вывод из MysQL

Плохой вариант, но из коробки:

PHP
$query->order_by(DB::raw('RAND()'))

Хороший, но требует изменения в схеме:

PHP
$query->where_random(mt_rand(максимальное_значение_поля))

Либо так, хуже, но лучше sqlORDER BY RAND(), если известно число строк:

PHP
$query->skip(mt_rand(число_строк))

Не в сети

#3 09.06.2014 17:44:11

Колян

Re: Как сделать рандоммный вывод из MysQL

спс))

#4 14.06.2014 12:24:30

Re: Как сделать рандоммный вывод из MysQL

Мне больше нравится подход с сортировкой коллекций Illuminate\Database\Eloquent\Collection

Model::all()->sort(function($data, $key){ return mt_rand(0, 1) > 0 ? 1 : -1; });

Время, качество, цена - выбирай любые 2

Не в сети

Подвал раздела