У меня есть ТАБЛИЦА с именем POST, которая содержит идентификатор, заголовок, контент, идентификатор_категории
и ТАБЛИЦА с именем CATEGORY, которая содержит идентификатор, имя_категории, тип_категории.
Поэтому я хотел бы отобразить общее количество POSTS, записанных для каждой КАТЕГОРИИ, выбранной в запрос, потому что таблица CATEGORY используется для других таблиц, поэтому я хочу иметь только категории, которые относятся к POSTS, но когда я отправляю данные в представление, я получаю следующую ошибку:
Серьезность: предупреждение
Сообщение: oci_execute(): ORA-00979: не группа по выражению GROUP BY.
//UPDATE:!
Так что после редактирования кода модели как предложенный, я получаю следующий код ошибки
Сообщение: oci_execute(): ORA-00936: отсутствует выражение
Возможно, у меня проблемы с JOIN и GROUP_BY, а также трудности с отображением данных в VIEW
здесь изображение того, как я хочу иметь данные,
любая помощь будет оценена
Спасибо за вашу помощь, мое уважение

вот моя модель
class My_model extends CI_Model {
function get_post_by_category() {
$q = $this->db->select(' POST.CATEGORY_ID, CATEGORY.CATEGORY_NAME, COUNT(POST.CATEGORY_ID) as total_posts, COUNT(POST.CATEGORY_ID)/COUNT(*) * 100 as percentage')
->from('POST')
->join('CATEGORY', 'POST.CATEGORY_ID= CATEGORY.ID', 'left')
->where('CATEGORY.CATEGORY_TYPE', 'TYPE_POST')
->group_by('POST.CATEGORY_ID, CATEGORY.CATEGORY_NAME')
->order_by('POST.CATEGORY_ID', 'ASC')
->get();
return $q->result();
}
}
вот мой контроллер
public function __construct() {
parent::__construct();
$this->load->model('My_model');
}
function index() {
$this->load->model('My_model');
//config
$config['base_url'] = base_url('/?c=ui_page');
//load the method of model
$data['countdata']=$this->My_model->get_post_by_category();
//return the data in view
$this->load->view('data/my_view', $data);
}
вот мое мнение
CATEGORY NAME
Total POSTS
%
%
Подробнее здесь: https://stackoverflow.com/questions/736 ... sing-codei
Мобильная версия