2017-05-18 77 views
0

我想拉出一个列的数据库,很简单吧?我正在使用codeigniter的活动记录。数据库查询codeigniter活动记录returing对象

我的型号功能

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,我认为,变量I得到“阵列([0] => stdClass的对象([把手] => Zanigade))“

因为我试图用这个函数作为一个全局的”抓取和去“函数而不写一大堆函数,为什么它不会只返回这个名字?我究竟做错了什么?我一直在玩输出3小时,我知道这是一个愚蠢的简单的解决方案,我只是错过了标记。

任何帮助将不胜感激。

+0

行,所以我意识到,改变我的模型函数返回$结果[0];允许我通过使用$ handle-> handle来拉我的选择.....有没有办法让它处理只是答案而不必 - > columnName?我觉得有一种方法,虽然我可能会误 – bdon

+0

为阵列,你可以在模型中使用result_array而不是结果 –

回答

2

把它放在一起使用,像这样

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

的“链接”功能,我们得到()一行(),它(应该)包含一个字段命名为$场。

+0

谢谢YOUUUUU!这固定完美! YaY因为没有写100个函数来拉取所需的数据lmao ......这很简单,我发誓我正在尝试一切,除了这个smh ... – bdon

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

+0

嗨,我已编辑代码,尝试,实际上有一个小错误我的代码,请尝试 –