Неопределенное свойство: stdClass :: $ contents в Code Igniter

Я учился и читал Учебник CodeIgniter о методах выбора базы данных. Одним из его методов был этот.

Это был файл модели с именем data_model.php:

<?php
class Data_model extends CI_Model{
function getAll(){
$this->db->select('title','contents');
$this->db->from('data');
$this->db->where('id',1);
$q = $this->db->get();

if ($q->num_rows() > 0){
foreach($q->result() as $row){
$data[] = $row;
}
}
return $data;
}
}
?>

Файл контроллера называется site.php

<?php
class Site extends CI_Controller{
function index(){
$this->load->model('data_model');
$data['rows'] = $this->data_model->getAll();
$this->load->view('home',$data);
}
}
?>

и просмотреть файл с именем home.php:

<html>
<head>
<title>
</title>
<meta http-equiv="Content-Type" content="text/html"; charset=UTF-8>
</head>
<body>
<div id="container">
<p>My view has been loaded.</p>
<?php foreach($rows as $r) : ?>
<h1><?php echo $r->title; ?></h1>
<div><?php echo $r->contents; ?></div>
<?php endforeach; ?>
</div>
</body>
</html>

Когда я пытаюсь запустить localhost / ci / в моем браузере, возникает ошибка, говорящая:

A PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$contents
Filename: views/home.php
Line Number: 13

Кажется, что моя переменная $ contents не имеет значения, но я почти уверен, что в моей базе данных есть содержимое для каждой соответствующей записи. Так же, как показано на рисунке ниже:

введите описание изображения здесь

Где я неправ? Учебник, которому я следовал, не вызывал ошибку? Почему я получаю эту ошибку?

1

Решение

Библиотека активных записей БД select() Метод принимает входные поля запроса только в первом параметре, которые могут содержать массив или строку, см. ниже.

$this->db->select(array('title','contents'));
//OR
$this->db->select('title,contents');
1

Другие решения

попробуй так, как это будет для тебя

<?php
class Data_model extends CI_Model{
function getAll(){
$this->db->select('title,contents');
$this->db->from('data');
$this->db->where('id',1);
$q = $this->db->get();

if ($q->num_rows() > 0){
return $q->result();
}
}
}
?>

и в файле просмотра

<html>
<head>
<title>
</title>
<meta http-equiv="Content-Type" content="text/html"; charset=UTF-8>
</head>
<body>
<div id="container">
<p>My view has been loaded.</p>
<?php foreach($rows as $r) { ?>
<h1><?php echo $r->title; ?></h1>
<div><?php echo $r->contents; ?></div>
<?php } ?>
</div>
</body>
</html>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector