Вывод всех постов из одной категории

Рейтинг: 0Ответов: 0Опубликовано: 21.02.2023

Доброй ночи

Пытаюсь вывести все посты из определённой категории. Выводятся вообще все :)

Контроллер:

public function categoryAction()
{
    if (!$this->model->isCategoryExist($this->route['id'])) {
        $this->view->errorCode(404);
    }
    $pagination = new Pagination($this->route, $this->model->pagesCount(), 5);
    $vars = [
        'pagination' => $pagination->get(),
        'count' => $this->model->pagesCount(),
        'list' => $this->model->pagesList($this->route),
        'data' => $this->model->categoryData($this->route['id'])[0],
    ];
    $this->view->render($vars['data']['category'], 0, 0, $vars);
}

Модель:

public function categoryData($id)
{
    $max = 5;
    $params = [
        'id' => $id,
        'max' => $max,
        'start' => (($route['page'] ?? 1) - 1) * $max,
    ];
    
    // return $this->db->all('SELECT p.*, c.category AS category FROM pages p JOIN categories ON c.id = p.category', $params);
    
    //return $this->db->all('SELECT * FROM `pages`, `categories` ON categories.id = pages.category WHERE categories.id = :id LIMIT :start, :max', $params);

    return $this->db->all('SELECT * FROM pages, categories VALUES (:category) WHERE page.category = categories.id LIMIT :start, :max', $params);

}

Счётчик:

public function pagesCount()
{
    return $this->db->col('SELECT COUNT(id) FROM `pages`');
}

Пробовал так:

public function pagescategoryCount()
{
    return $this->db->col('SELECT COUNT(category) FROM `pages`');
}

но тоже никак.

С запросами мучаюсь уже два дня, ничего не выходит.

Помогите пожалуйста!

Ответы

Ответов пока нет.