Мне интересно, что лучше всего делать. Прямо сейчас у меня есть запрос, чтобы проверить, вернулись ли какие-либо результаты, и если они не возвращены, я возвращаю NULL.Возврат NULL из запроса для данных
На моем контроллере я отправляю этот набор результатов, будь то объект или NULL для моей таблицы, и он отображает строки на странице просмотра.
Для моих таблиц я использую плагин jquery datatables. Я пытаюсь выяснить, как я могу обработать данные, когда переданное значение равно NULL, поэтому оно не показывает мне ошибку, когда она попадает в мой цикл foreach.
Контроллер:
$news_articles = $this->news_model->get_news_articles();
$this->data['news_articles'] = $news_articles;
Модель:
/**
* Get news articles
*
* @return object
*/
function get_news_articles()
{
$query = $this->db->get($this->news_articles_table);
if ($query->num_rows() > 0) return $query->result();
return NULL;
}
Вид:
$tmpl = array ('table_open' => '<table class="table" id="newsarticles-table">');
$data = array('name' => 'newsarticles', 'class' => 'selectall');
$this->table->set_heading(form_checkbox($data), 'ID', 'Date', 'Title');
$this->table->set_template($tmpl);
foreach ($news_articles as $row)
{
$checkbox_data = array(
'name' => 'newsarticles',
'id' => $row->id
);
$this->table->add_row(form_checkbox($checkbox_data), $row->id, $row->date_posted, $row->article_title);
}
echo $this->table->generate();
В подобных ситуациях я взял возвращающиеся пустые коллекции. Сохраняет всю нулевую проверку. – Marvo
Не могли бы вы показать мне пример из моего кода. –
В get_news_articles вместо возврата NULL попробуйте вернуть новый массив(). Это вернет пустой массив, цикл foreach не будет итерации, а затем ... ну, вы находитесь во власти таблиц данных в этот момент. Я не знаю, что он будет делать без данных. – Marvo