Передача переменных из модели в контроллер - PullRequest
0 голосов
/ 12 августа 2011

У меня есть переменные, которые создаются и используются в моей модели, которые мне нужно использовать в контроллере, как это достигается?

Редактировать:

Контроллер: http://pastebin.com/jhAwAVa6

Модель: http://pastebin.com/9xXRyYAa

Ответы [ 3 ]

3 голосов
/ 12 августа 2011

Из вашего вопроса непонятно, что именно вы хотите сделать.

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

class Model extends CI_Model{
    private $name;

    public function getName() {return $this->name; /*any other logic here*/}
    public function setName($value) {$this->name= $value; /*any other logic here*/}
}
1 голос
/ 12 августа 2011

Модель (my_model)

function useful_info()
{
    $data = new stdClass();
    $q = $this->db->get('users');
    $data->users = $this->db->result();
    $data->date = date('Y-m-d');
    $data->info = array('whatever','more','anything');
    return $data;
}

Контроллер

function index()
{
    $info = $this->my_model->useful_info();
    foreach($info->users as $user)
    {
        echo $user->id;
    }
    echo $info->date;
    if($info->info[0] == 'whatever')
    {
        // do something
    }
}

Вам не нужно создавать объект (это может быть строка, T / F, массив и т. Д.), Но вам обычно нужно возвращать что-то из функций модели и библиотеки. И вы можете получить доступ к тому, что вы возвращаете, вернув его в переменную $info = $this->my_model->useful_info();

1 голос
/ 12 августа 2011

Нельзя передать переменную из модели в контроллер. Вы можете получить доступ к публичным переменным модели через контроллер.

echo $this->model_name->variable_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...