使用codeigniter活动记录获取单个字段输出的值

时间:2013-06-06 05:13:37

标签: codeigniter activerecord

以下函数应该从数据库中读取给定资产代码的名称。但它触发了错误:“试图获取非对象的属性”

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');
}

我想要的只是将资产的名称返回给控制器!非常感谢您的帮助!

6 个答案:

答案 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;
}