以下函数应该从数据库中读取给定资产代码的名称。但它触发了错误:“试图获取非对象的属性”
function sban_name($asset){
$this->db->select('name');
$this->db->from('asset_types');
$this->db->where('code',$asset);
return $this->db->get()->result()->row('name');
}
我想要的只是将资产的名称返回给控制器!非常感谢您的帮助!
答案 0 :(得分:39)
使用row()
之类的,
return $this->db->get()->row()->name;
答案 1 :(得分:6)
将row()
用于单行,将result()
用于多行。
答案 2 :(得分:4)
这样做,asset_types是你的表名
function sban_name($asset){
$this->db->select('name');
$this->db->from('asset_types');
$this->db->where('code',$asset);
return $this->db->get('asset_types');
}
在你的控制器中,它就像
一样$result=$this->modelname->sban_name('$asset')->row();
$name=$result->name;
答案 3 :(得分:0)
$this->db->select('name');
$this->db->from('asset_types');
$this->db->where('code',$asset);
$reault_array = $this->db->get()->result_array();
return $reault_array[0]['name'];
答案 4 :(得分:0)
我认为检查满足条件的记录甚至存在于数据库中非常重要。该模型的代码:
function sban_name($asset){
$this->db->select('name');
$this->db->from('asset_types');
$this->db->where('code',$asset);
$row = $this->db->get()->row();
if (isset($row)) {
return $row->name;
} else {
return false;
}
}
像这样简单地从控制器调用函数:
$response = $this->model_name->sban_name($asset)
答案 5 :(得分:0)
试试这个代码块,我已经检查过并且工作正常:
function sban_name($asset)
{
$this->db->select('name');
$this->db->from('asset_types');
$this->db->where('code', $asset);
return $this->db->get()->row()->name;
}