Передача данных в модель через контроллер в codeigniter - PullRequest
1 голос
/ 04 сентября 2011

Я слышал о codeigniter пару раз, поэтому мне было любопытно и подумал, почему бы и нет.Я взял несколько уроков и был очень рад видеть, как работает фреймворк.Теперь у меня есть следующая проблема: я хочу передать данные, которые я сделал в моей модели, через мой контроллер и показать это в моем представлении, но я всегда запускаю следующую ошибку: Неустранимая ошибка: вызов функции-члена query () onнеобъект в C: \ wamp \ www \ codeigniterTest \ application \ models \ leden_model.php в строке 9. Самое смешное в этой ошибке - когда я гуглю по этому вопросу, многие темы на форуме касаются этой проблемы, но нигдея получил правильный ответ.мой код выглядит так

codegniter версия 2.03

class Leden extends CI_Controller {

function __construct(){
    parent::__construct();
}

function index()
{
    $this->load->model('leden_model');
    $ledenModel = new Leden_model();
    $data = $ledenModel->allLeden();
    $this->load->view('leden_overzicht',$data);
}
}


<?php
class Leden_model extends CI_Model {

    function __construct(){
        parent::__construct();
    }

    function allLeden(){
        $query = $this->db->query("SELECT * FROM leden");
        foreach ($query->result_array() as $row)
        {
           echo $row['Naam'];
           echo $row['Achternaam'];
           echo $row['Email'];
        }

        return $query;
    }

}

?>

Когда я выполняю запрос в моем контроллере, то получаю результаты, которые хочу, почему бы не в моеммодель?

мой вопрос, что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 04 сентября 2011

Leden_model.php

? Php

класс Leden_model расширяет CI_Model {

function __construct(){
    parent::__construct();
}

function allLeden()
{
    $data = array();
    $this->db->select();
    $query = $this->db->get('leden');

    if ($query->num_rows() > 0)
    {
        foreach ($query->result_array() as $row)
        {
            $data[] = $row;
        }
    }
    $query->free_result();
    return $data;
}

Leden_controller.php

? PHP

класс Леден расширяет CI_Controller {

function __construct()
{
    parent::__construct();

    $this->load->model('leden_model');
}

индекс функции () {

$data['leden_data'] = $this->ledenModel->allLeden();
$this->load->view('leden_overzicht',$data); } 

}

leden_overzicht.php

? PHP

if (count ($ leden_data)) {

foreach ($ leden_data как $ key => $ list) {

echo $ list ['Naam']. "" $ list ['Achternaam']. "" $ list ['Email']. "
";

}} еще { echo "Нет данных."; }

0 голосов
/ 04 сентября 2011

вы загружали базу данных?пример:

$ this-> load-> database ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...