CodeIgniter — неопределенная ошибка свойства

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

Severity: Notice

Message: Undefined property: CI_Loader::$model_bands

Filename: views/band_view.php

Line Number: 16

band_view.php:

<h3>List of Bands:</h3>
<?php
$bands = $this->model_bands->getAllBands();

echo $bands;
?>

model_bands.php:

function getAllBands() {
$query = $this->db->query('SELECT band_name FROM bands');
return $query->result();
}

Может ли кто-нибудь сказать мне, почему он это делает?

0

Решение

Зачем вам это нужно, правильный способ — использовать методы модели внутри контроллера, а затем передать его в представление:

public function controller_name()
{
$data = array();
$this->load->model('Model_bands'); // load the model
$bands = $this->model_bands->getAllBands(); // use the method
$data['bands'] = $bands; // put it inside a parent array
$this->load->view('view_name', $data); // load the gathered data into the view
}

А потом использовать $bands (петля) в представлении.

<h3>List of Bands:</h3>
<?php foreach($bands as $band): ?>
<p><?php echo $band->band_name; ?></p><br/>
<?php endforeach; ?>
2

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

Вы загрузили свою модель в контроллер?

    $this->load->model("model_bands");
1

Вы должны изменить свой код как
контроллер

public function AllBrands()
{
$data = array();
$this->load->model('model_bands'); // load the model
$bands = $this->model_bands->getAllBands(); // use the method
$data['bands'] = $bands; // put it inside a parent array
$this->load->view('band_view', $data); // load the gathered data into the view
}

Затем посмотреть

<h3>List of Bands:</h3>
<?php foreach($bands as $band){ ?>
<p><?php echo $band->band_name; ?></p><br/>
<?php } ?>

Ваша модель в порядке

function getAllBands() {
$query = $this->db->query('SELECT band_name FROM bands');
return $query->result();
}
0

Вы забыли загрузить модель на свой контроллер:

//controller

function __construct()
{
$this->load->model('model_bands'); // load the model
}

Кстати, почему вы называете модель прямо с вашей точки зрения? Должно ли это быть:

//model
$bands = $this->model_bands->getAllBands();
$this->load->view('band_view', array('bands' => $bands));

//view
<h3>List of Bands:</h3>
<?php echo $bands;?>
0
По вопросам рекламы [email protected]