Неустранимая ошибка: вызов функции-члена для необъектного воспламенителя кода - PullRequest
0 голосов
/ 14 августа 2011

Я следовал документации по моделям и продолжаю получать эту ошибку, любая помощь будет оценена.

Обнаружена ошибка PHP

Серьезность: Уведомление

Сообщение: неопределенное свойство: Manage :: $ File

Имя файла: files / manage.php

Номер строки: 14

Неустранимая ошибка: вызов участникаФункция get_files () для необъекта в /var/www/uisimulator/application/controllers/files/manage.php в строке 14 *

Вот моя модель: - Расположена: приложение / модели/files/file.php

class File extends CI_Model {

    var $filename = '';

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

    // Return all config files
    function get_files() {
        $query = $this->db->get('config_files');
        return $query->result();
    }

    function insert_file() {
        $this->filename = $this->input->post('filename');
        $this->db->insert('config_files', $this);
    }

    function update_file() {
        $this->filename = $this->input->post('filename');
        $this->db->update('config_files', $this, array('id' => $this->input->post('id'));
    }
}

Вот мой контроллер: Расположение: приложение / контроллеры / файлы / manage.php

класс Manage extends CI_Controller{

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

    public function index() {
        $this->load->model('files/file', TRUE);

        $config_files['query'] = $this->File->get_files();

        // Load the head section
        $this->load->view('head');

        // Load the view, passing in the data
        $this->load->view('files/index', $configFiles);

        // Load Footer
        $this->load->view('footer');
    }
}

В моем представлении у меня есть простой цикл, чтобы показать результаты:

  <?php foreach ($configFiles as $file) : ?>
        <li><?php echo $file['filename'];?></li>
   <?php endforeach;?>

Ответы [ 3 ]

2 голосов
/ 14 августа 2011

Попробуйте:

 $this->load->model('files/file','', TRUE);

РЕДАКТИРОВАНИЕ:

$data['configFiles'] = $this->File->get_files();
// Load the head section
$this->load->view('head');

// Load the view, passing in the data
$this->load->view('files/index', $data);
1 голос
/ 05 июля 2012

Этот код приводит к одной записи, но дает мне только поля из одной таблицы.

function listar_dados_produto($id)
{
    $this->db->where('id',$id);     
    $query = $this->db->get('produtos');
    return $query->result();
}

Примечание: я использую activerecord. Табличные продукты возвращают свои поля в основном, но мне нужно одно поле для другой таблицы под названием категории.

0 голосов
/ 14 августа 2011

По какой причине вы передали TRUE в качестве второго параметра в методе $this->load->model?

Насколько я понимаю, с помощью CI второй параметр должен ссылаться на вашу модель под другим именем, отличным от ее класса.

Может показаться, что вы называете свой класс логическим значением, которое обязательно должно вызвать какую-то ошибку.

Попробуйте:

$this->load->model('files/file', NULL, TRUE);

//$data['configFiles'] = $this->File->get_files();
print_r($this->File->get_files());
exit;
// do you get any data?


// Load the head section
$this->load->view('head');

// Load the view, passing in the data
$this->load->view('files/index', $data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...