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

Posted

技术标签:

【中文标题】使用 codeigniter 活动记录获取单个字段输出的值【英文标题】:getting the value of the single field output using the codeigniter active record 【发布时间】:2013-06-01 23:45:54 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

使用row()点赞,

return $this->db->get()->row()->name;

【讨论】:

我需要模型中的这些数据,这是我的查询 $query = $this->db->query("SELECT * FROM users WHERE useremail = '$email' AND usertype = 1 AND usertype = 2")->row()->useremail ;【参考方案2】:

对单行使用row(),对多行使用result()

【讨论】:

【参考方案3】:

这样做,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;

【讨论】:

【参考方案4】:

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

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】:

试试这个 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;

【讨论】:

以上是关于使用 codeigniter 活动记录获取单个字段输出的值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CodeIgniter 中获取活动记录插入的结果

codeigniter 活动记录获取查询和不带 LIMIT 子句的查询

如何在codeigniter活动记录中获取特定数组

Codeigniter 活动记录从 mysql 获取记录,其中 id 等于数组中的记录

使用 codeigniter 将数据库中字段的值更新为 1

字段名称包含空格时的codeigniter条件