开发者

Passing variables from Model to controller

I have开发者_开发百科 variables that are created and used on my model that I need to be able to use on my controller how is that accomplished?

Edit:

Controller: http://pastebin.com/jhAwAVa6

Model: http://pastebin.com/9xXRyYAa


It's unclear from your question, what exactly you want to do.

If it is about accessing model properties, the right way is using accessor methods:

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*/}
}


You can not pass the variable from a model to controller. You can access public variables of a model through a controller.

echo $this->model_name->variable_name;


Model (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;
}

Controller

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
    }
}

You don't have to create an object (it can be a string, T/F, array, etc), but you usually need to return something from your model and library functions. And you can access what you return by returning it to a variable $info = $this->my_model->useful_info();

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜