protected function prepareQueries($joinReply = false)
{
/** @var \Phalcon\Mvc\Model\Query\BuilderInterface $itemBuilder */
$itemBuilder = $this->modelsManager->createBuilder()->from(['p' => 'Phosphorum\\Models\\Posts'])->orderBy('p.sticked DESC, p.created_at DESC');
if ($joinReply) {
$itemBuilder->groupBy('p.id')->join('Phosphorum\\Models\\PostsReplies', 'r.posts_id = p.id', 'r');
}
$totalBuilder = clone $itemBuilder;
$itemBuilder->columns(['p.*'])->limit(self::POSTS_IN_PAGE);
$totalBuilder->columns('COUNT(*) AS count');
return [$itemBuilder, $totalBuilder];
}