Есть сайт на подобие простого блога.
Записи с бд выводятся на главную ленту постов.
Проблема в создании блока "Также интересное по теме"(бывают во всех блогах сбоку, ссылки на другие посты)
Не знаю как вывести рандомно записи с бд
В контроллере передаю во вьюшку все записи с бд
public function actionBlog()
{
$posts = Posts::find();
$countQuery = clone $posts;
$pages = new Pagination(['totalCount' => $countQuery->count(),
'pageSize' => '2',]);
$models = $posts->offset($pages->offset)
->limit($pages->limit)
->all();
return $this->render('blog',[
'models' => $models,
'pages' => $pages,]);
}
Во вьюшке ловлю все записи и вывожу в ленту вот так
<?php foreach( $models as $post): ?>
<li>
<div class="post-content">
<a href="<?= Url::toRoute(['blogpost', 'id' => $post['post_id']]);?>" title=<?=$post['post_title']?> class="post-image">
<img src=<?='/acs/backend/web/'.$post['post_photo'];?> alt="" style="display: block;">
</a>
<h2 class="box-header align-left"><a href="<?= Url::toRoute(['blogpost', 'id' => $post['post_id']]);?>"><?=$post['post_title']?></a></h2>
<p class="description t1"><?=$post['post_brief']?></p>
<div class="row padding-top-54 padding-bottom-17">
<a class="more" href="<?= Url::toRoute(['blogpost', 'id' => $post['post_id']]);?>" title="Подробнее">Подробнее</a>
</div>
</div>
</li>
<?php endforeach ;?>
<?php echo LinkPager::widget(['pagination' => $pages,]);?>