我的模型必须从包含公司信息的表中收集信息。 公司名称,地址等数据 所以我可以使用例如公司名称来设置页脚以将该名称放入发票中。
这是我的模特:
<?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
我的代码出了什么问题?
答案 0 :(得分:0)
尝试这样的事情
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'];
}
答案 1 :(得分:0)
因为你没有正确加载你的模型。了解如何在控制器中加载模型。 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();
答案 2 :(得分:0)
试试这个:
public function test() {
$obj_model = $this->load->model('Company');
$Bedrijf->get_info();
echo $Bedrijf->name;
}
答案 3 :(得分:0)
尝试这样的事情
<强>模型强>
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;
}