CodeIgniter: неопределенный индекс в переменной модели - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть код ниже моей модели.Я загружаю страницу с информацией о предложении, и она выдала мне ошибку

Severity: Notice

Message: Undefined index: viewc

Filename: statistics/Statistic_model.php

Line Number: 551

Statistic_model:

public function getTotalDetailsViewOfActiveOffer($comid) {

    $this->db->select('count(statistic_offer_view_count.id) as viewc');
    $this->db->from('statistic_offer_view_count');
    $this->db->join('offers', 'offers.id = statistic_offer_view_count.offer_id');       
    $this->db->where('offers.com_id',$comid);
    $this->db->where('offers.approved_status',"2"); 
    $this->db->where('offers.enddate >=',date('Y-m-d'));
    $this->db->group_by("offers.com_id");       
    $query = $this->db->get();
    $row = $query->result_array();
    $count=$row['viewc'];           //this is line 551

}

Есть идеи, как исправить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

В вашем коде Вы выбираете данные из базы данных. Несколько массивов. И присваиваете переменную как отдельный массив.Ваш код ....

$row = $query->result_array();
$count=$row['viewc'];

В вашем распоряжении правильный способ присвоения переменной ....

$data   =   array();
foreah($row as $key => $value){
  $data[$key] = $value['viewc'];
}
0 голосов
/ 19 сентября 2018

Эта ошибка означает, что индекс viewc не находится в массиве $query->result_array(), скорее всего, из-за того, что ваш запрос не выполнен или возвращен ноль.Вы должны войти в привычку делать:

$query = $this->db->get();
if ($query->num_rows() > 0) {
    return $query->row()->viewc;
}
return false; // or in this case 0 or whatever
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...