codeigniter活动记录returing对象中的db查询

时间:2017-05-18 22:53:17

标签: database codeigniter activerecord

我试图从数据库中删除一个列,这很简单吗?我正在使用codeigniter的活动记录。

我的模型功能

    public function getcolumn($field, $table, $kfield, $key)
    {
      $this->db->select($field);
      $this->db->from($table);
      $this->db->where($kfield, $key);

      $query = $this->db->get();
      $results = $query->result();

      return $results;
    }

我的控制器有:

   public function users()
   { 
     $body['handle'] = $this->admin->getcolumn('handle', 'users', 'userid', $userid)

     $this->load->view('template/header');
     $this->load->view('admin/users', $body);
     $this->load->view('template/footer');
   }

现在当我在视图中print_r那个变量时,我得到了"数组([0] => stdClass对象([句柄] => Zanigade))"

因为我试图将此功能用作全球"抓住并去#34;功能没有写大量的功能,为什么不赢回它的名字?我究竟做错了什么?我已经玩了3个小时的输出,我知道这是一个愚蠢的简单修复,我只是错过了标记。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

使用“链接”功能将所有内容组合在一起

$results = this->db->get()->row()->$field;

我们得到()一行(),其中(应该)包含一个名为$ field的字段。

答案 1 :(得分:0)

您似乎正在返回结果而不是单行,请尝试此

public function getcolumn($field, $table, $kfield, $key)
{
  $this->db->select($field);
  $this->db->from($table);
  $this->db->where($kfield, $key);

  $query = $this->db->get();

  return $query->row()->$field;
}

有关详细信息,请查看codeigniter用户指南 https://www.codeigniter.com/userguide3/database/examples.html