使用Code Igniter在Query结果中获取精确列

时间:2011-11-11 20:38:04

标签: sql codeigniter row

我正在寻找一种方法来在查询的第一个结果中返回精确列的值。

查询结果始终包含1行,其中包含以下列:

  

ID
  PW
  RANK

我试图只获得排名值,以便将其推入会话变量。

我试过搞乱:

$row-> $query->row();

但后来我不知道如何只获得rank列的值。理想情况下,我想获得该值,然后返回它以允许我的控制器在会话变量中设置它(在模型中执行它会更容易但会打破MVC模式,对吗?)

我该怎么做?

由于

1 个答案:

答案 0 :(得分:0)

让控制器调用返回该值的模型中的函数。假设模型具有函数名get_rank()

public function get_rank($id)
{
  // assumes your ID is an int
  $id = (int)$id;

  // avoid wasting a query
  if ($id < 1) return FALSE;

  // build query
  $this->db->select('rank');
  $this->db->from('YOUR_TABLE');
  $this->db->where('id', $id);
  // maybe some sorting / limiting here if you need it

  // get result
  $rs = $this->db->get();

  if ($rs->num_rows() > 0)
  {
    // just get the first row
    $row = $rs->row();
    return $row->rank;
  }

  return FALSE;
}