如何从模型中调用控制器中的变量


how do I call a variable in a controler from a model?

我有一个模型,它必须从包含公司信息的表中收集信息。公司名称、地址等数据。例如,我可以使用公司名称放在页脚中,并将该名称放在发票中。

这是我的型号:

<?php
class Company extends CI_Model
{
public $name = '';
public $adress = '';
function __construct()
{
parent::__construct();
}
function get_info() {
    $query = $this->db->query('SELECT * FROM company');
    foreach ($query->result() as $row ) {
        $this->name = $row->name;
        $this->adress = $row->adress;
    }
}

}

我的控制器是这样的:

    public function test() {
    $this->load->model('Company');
    $this->Bedrijf->get_info();
    echo $this->bedrijf->name;
}

当我打开我的测试站点时,我得到一个错误:

未定义的属性:testproject::$name

我的代码出了什么问题?

试试这样的

  function get_info() {
        $query = $this->db->query('SELECT * FROM company');
        foreach ($query->result() as $row ) {
            $data['name'] = $row->name;
            $data['adress'] = $row->adress;
        }
       return $data;
    }

我的控制器是这样的:

    public function test() {
    $this->load->model('company');
    $company_info = $this->company->get_info();
    echo $company_info['name'];
}

试试这个:

  public function test() {
        $obj_model = $this->load->model('Company');
        $Bedrijf->get_info();
        echo $Bedrijf->name;
    }

尝试类似的东西

型号

function get_info() {
    $query = $this->db->query('SELECT * FROM company');
    return $query->result();
}

控制器

public function test() {
    $this->load->model('Company');
    $obj = $this->Company->get_info();
    echo $obj->name;
}

因为没有正确加载,所以建模。查看如何在控制器中加载模型。http://ellislab.com/codeigniter/user-guide/general/models.html#loading

试试这个。

public function test() {
    $this->load->model('Company', 'Bedrijf');
    $this->Bedrijf->get_info();
    echo $this->Bedrijf->name;
}

// You are not defining assigning the different object here 
// from that you are calling i.e. $this->Bedrijf->get_info();
$this->load->model('Company');
$this->Bedrijf->get_info();