У меня есть этот код в моей модели в codeigniter:
<?php
class User_model extends Model {
function User_model()
{
parent::Model();
}
function get_data()
{
$pages = false;
// Get the pages from the database using adodb if needed
$this->adodb->connect();
$recordSet = $this->adodb->execute('SELECT id, genreID, artist, albumName FROM album' );
if ( ! $recordSet )
{
log_message( 'error', 'Error connecting to the database' );
log_message( 'debug', $this->adodb->getErrorMsg());
}
else
{
unset( $this->pages );
while (!$recordSet->EOF)
{
$pages[] = array(
'id' => $recordSet->fields[0],
'genreID' => $recordSet->fields[1],
'artist' => $recordSet->fields[2],
'albumName' => $recordSet->fields[3]
);
$recordSet->MoveNext();
}
$this->pages = $pages;
}
$this->adodb->disconnect();
}
}
?>
У меня есть это в моем контроллере:
<?php
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
}
function index()
{
//
$this->load->model('User_model');
$data['query'] = $this->User_model->get_data();
$this->load->view('welcome_message',$data);
}
}
То, что я не могу сделать, это получить результаты моей модели в моем представлении. Нет объекта result (), потому что я использовал adodb, так что:
<?php foreach($query->result() as $row): ?>
<p>
<?=$row->albumName;?>
</p>
<?php endforeach; ?>
получает мне ошибку.
Что я ставлю в своем представлении, чтобы получить результаты запроса моей модели. Я знаю, что модель работает, потому что я могу повторить $ recordSet-> fields [3]; от модели и увидеть название альбома.
Спасибо за любую помощь.
edit: я не понимаю, почему мой вызов get_data () в моем представлении ничего не возвращает.