CodeIgniter - nur eine Zeile zurückgeben?


76

Im Moment, wenn ich eine Abfrage in der Datenbank durchführe, die nur eine Zeile zurückgeben soll, verwenden Sie:

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

Gibt es eine CodeIgniter-Funktion, um die erste Zeile zurückzugeben? etwas wie$query->row();

Oder noch besser wäre die Möglichkeit, das Abfrageobjekt direkt zu verwenden, wenn es nur eine Zeile gäbe.

z.B $query->campaign_id;

Antworten:



30

Dies ist besser, da Sie ein Ergebnis in einer einzigen Zeile erhalten:

$this->db->query("Your query")->row()->campaign_id;

Wie können wir diesen ternären Operator verwenden? (query)?(getresult) : (null)
Znaneswar

13

Um das zu ergänzen, was Alisson gesagt hat, können Sie überprüfen, ob eine Zeile zurückgegeben wird.

// 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

7

Um dem Code klar zu machen, dass Sie die erste Zeile abrufen möchten, können Sie mit CodeIgniter jetzt Folgendes verwenden:

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

So rufen Sie die erste Zeile ab



2

Wenn Sie nur einen Datensatz mithilfe der Codeigniter-Abfrage aus der Datenbanktabelle abrufen möchten, können Sie dies mit row () tun. Wir können leicht eine Zeile aus der Datenbank in Codeigniter zurückgeben.

$data = $this->db->get("items")->row();

1

Ändern Sie nur in zwei Zeilen und Sie bekommen tatsächlich, was Sie wollen.

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

Versuch es.


0

Wir können ein einzelnes using-Limit in der Abfrage erhalten

$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);

 $query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);


-3

Klasse Receipt_Model erweitert CI_Model {

   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;
 }

}}

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.