it-swarm.com.de

CodeIgniter - gibt nur eine Zeile zurück?

Im Moment, wenn ich eine Abfrage für die Datenbank mache, die nur eine Zeile zurückgeben soll, mit:

...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 nur eine Zeile vorhanden wäre.

z.B. $query->campaign_id;

67
Hailwood

Sie haben gerade Ihre eigene Frage beantwortet:) Sie können so etwas tun:

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

Weitere Informationen dazu finden Sie hier: http://www.codeigniter.com/user_guide/database/results.html

120
Alisson

Dies ist eine bessere Methode, da Sie nur eine einzige Zeile erhalten:

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

Um das zu ergänzen, was Alisson gesagt hat, können Sie prü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
13
Malachi

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

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

Die erste Zeile abrufen.

6
bnp887
$this->db->get()->row()->campaign_id;
2
Maciej

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

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

versuch es.

1
lalitpatadiya

Wir können ein einzelnes Verwendungslimit 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);
0