22

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

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

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

4

5 回答 5

54

使用row()喜欢,

return $this->db->get()->row()->name;
于 2014-06-23T08:26:41.417 回答
11

用于row()单行和result()多行。

于 2013-06-06T05:18:23.520 回答
5

这样做,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;
于 2013-06-06T05:39:31.027 回答
1

我认为检查数据库中是否存在满足条件的记录很重要。模型代码:

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)
于 2020-01-05T21:48:58.757 回答
1

试试这个 block 代码,我已经检查过并且工作正常:

function sban_name($asset)
{
    $this->db->select('name');
    $this->db->from('asset_types');
    $this->db->where('code', $asset);
    return $this->db->get()->row()->name;
}
于 2021-02-02T11:14:34.320 回答