CodeIgniter: неопределенный индекс в переменной модели

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

Severity: Notice

Message: Undefined index: viewc

Filename: statistics/Statistic_model.php

Line Number: 551

Статистическая_модель:

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

}

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

Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
1
0
178
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

$query = $this->db->get();
if ($query->num_rows() > 0) {
    return $query->row()->viewc;
}
return false; // or in this case 0 or whatever

В вашем коде вы выбираете данные из базы данных, состоящей из нескольких массивов, и присваиваете at переменной, как один массив. Ваш код....

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

правильный способ присвоения переменной - это ....

$data   =   array();
foreah($row as $key => $value){
  $data[$key] = $value['viewc'];
}

Другие вопросы по теме