@Caspergreen

Проверка данных из одной таблице, в другой CodeIgniter. Как?

Есть функция,в ней идет выборка из базы данных, есть поле в таблице, section.
В этом поле хранится ID, данных из другой таблицы.
Таблица sections хранит разделы.
На странице, выводятся данные, название, картинка и название раздела. Ищу раздел по айди.
Например в таблице bouquets в поле section айди указан 1, то происходит поиск в таблице по айдишке, далее дергается название этого раздела.
Если раздел удален, а у букета висит айди 1, то он начинает ругаться нотисом
Severity: Notice

Message: Trying to get property of non-object

Filename: bouquets/index.php

Line Number: 90

Строка:
echo $sections->title;

Контроллер:
if($this->data['list'] == 0){
            $this->session->set_flashdata('null', 'Записей в базе данных не сущестует.');
        } else {
            //print_r($this->data['list']);
            foreach($this->data['list'] as $value){
                    $list_id =  $value->section;
                }
                $this->data['sections'] = $this->bouquets->getSectionID($list_id);
        }

Модель:
function getSectionID($list_id){
        $this->db->where('id', int() $list_id);
        $this->db->limit(1);
        $query = $this->db->get('sections');
        $rows = $query->result();
        return isset($rows[0] ? $rows[0] : false);
    }
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
foreach($this->data['list'] as $value){
                    $list_id =  $value->section;
                }
                $this->data['sections'] = $this->bouquets->getSectionID($list_id);


Этот кусок вообще не понятен. Во-первых непонятна структура данных в $this->data['list'], наверное там массив значений из другой модели. Но тогда, почему вы обращаетесь к ним так: $value->section, а не $value['section']. Во-вторых зачем делать делать в цикле этот бессмысленный перебор?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Caspergreen Автор вопроса
Severity: Notice

Message: Trying to get property of non-object

Filename: bouquets/index.php

Line Number: 97

Тот же нотис :)
Ответ написан
Комментировать
@repeat
$sections таки объект или массив? Вы пытаетесь работать с ним как с объектом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы