代码之家  ›  专栏  ›  技术社区  ›  Hailwood

编码点火器-只返回一行?

  •  68
  • Hailwood  · 技术社区  · 13 年前

    目前,如果我正在数据库上执行查询,该查询只应返回一行,请使用:

    ...query stuff...
    $query = $this->db->get();
    $ret = $query->result();
    return $ret[0]->campaign_id;
    

    是否有返回第一行的CodeIgniter函数? 有点像 $query->row();

    或者更好的是,如果只有一排, 直接使用查询对象。

    例如 $query->campaign_id;

    8 回复  |  直到 11 年前
        1
  •  131
  •   codeonion    9 年前

    你刚刚回答了自己的问题:) 你可以这样做:

    $query = $this->db->get();
    $ret = $query->row();
    return $ret->campaign_id;
    

    您可以在这里阅读更多信息: http://www.codeigniter.com/user_guide/database/results.html

        2
  •  28
  •   Malachi majid hussain    11 年前

    这是一种更好的方法,因为它只会产生一行:

    $this->db->query("Your query")->row()->campaign_id;
    
        3
  •  13
  •   Malachi majid hussain    13 年前

    再加上艾莉森说的话,你可以检查一下是否返回了一行。

    // Query stuff ...
    $query = $this->db->get();
    
    if ($query->num_rows() > 0)
    {
        $row = $query->row(); 
        return $row->campaign_id;
    }
    
    return null; // or whatever value you want to return for no rows found
    
        4
  •  6
  •   bnp887    10 年前

    为了使代码清楚地表明您打算获得第一行,CodeIgniter现在允许您使用:

    if ($query->num_rows() > 0) {
        return $query->first_row();
    }
    

    检索第一行。

        5
  •  2
  •   Maciej    8 年前
    $this->db->get()->row()->campaign_id;
    
        6
  •  1
  •   Pang Mohammad Imran    9 年前

    只换两行,你就能得到你想要的。

    $query = $this->db->get();
    $ret = $query->row();
    return $ret->campaign_id;
    

    试试看。

        7
  •  0
  •   Vel    6 年前

    我们可以在查询中得到一个使用限制

    $query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
     $query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
    
        8
  •  0
  •   Rahul Kr Daman    4 年前

    如果您只需要使用codeigniter查询从数据库表中获取一条记录,则可以使用row()执行此操作。我们可以在codeigniter中轻松地从数据库返回一行。

    $data = $this->db->get("items")->row();
    
        9
  •  -3
  •   Shipra Bohra Aashhiiii    6 年前

    类收据模型扩展了CI_模型{

       public function index(){
    
          $this->db->select('*');
    
          $this->db->from('donor_details');
    
          $this->db->order_by('donor_id','desc');
    
          $query=$this->db->get();
    
          $row=$query->row();
    
          return $row;
     }
    

    }