Хочу последовательно вывести объекты в виде DetailView в случайном порядке и показать порядковый номер.
Например, допустим, первым выходит запись с ID=12, а вывожу 1, вторым ID=5 - вывожу 2, и т.д.
Как перемешать объекты activerecord?
Re: Как перемешать объекты activerecord?
Добавь в поиск. Так хотел?
Код: Выделить всё
->orderBy(new Expression('rand()'))
Re: Как перемешать объекты activerecord?
Спасибо, а как нумерацию выводить (вместо ID порядковый номер )?
Re: Как перемешать объекты activerecord?
Нужно посмотреть, как ты выводишь информацию через DetailView, чтобы списком выводило.
В описании DetailView
Код: Выделить всё
/* DetailView displays the detail of a single data [[model]] */
Код: Выделить всё
'columns' => [
[
'class' => 'kartik\grid\SerialColumn'
],
],
Код: Выделить всё
foreach($models as $key => $value){
//тут использовать $key+1 как порядковый номер
<?= DetailView::widget([
'model' => $value,
'attributes' => [
[
'label' => 'Порядковый номер',
'value' => $key+1,
],
'some_fields',
],
'responsive' => false,
'hAlign' => 'left',
]); ?>
}
Re: Как перемешать объекты activerecord?
Спасибо! Сделал через $key