web-dev-qa-db-ja.com

CodeIgniter-1行のみを返しますか?

現時点で、1行のみを返すデータベースでクエリを実行している場合は、次を使用します。

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

最初の行を返すCodeIgniter関数はありますか? $query->row();のようなもの

または、行が1つしかない場合は、クエリオブジェクトを直接使用するだけの機能もあります。

例えば$query->campaign_id;

69
Hailwood

あなたはあなた自身の質問に答えたばかりです:)次のようなことができます:

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

詳細については、こちらをご覧ください: http://www.codeigniter.com/user_guide/database/results.html

127
Alisson

結果は1行になるため、これはより良い方法です。

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

Alissonが言ったことに追加するには、行が返されるかどうかを確認できます。

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

最初の行を取得するつもりであることをコードで明確にするために、CodeIgniterでは次を使用できるようになりました。

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

最初の行を取得します。

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

2行で変更するだけで、実際に必要なものを取得できます。

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

それを試してみてください。

1
lalitpatadiya

クエリで単一の使用制限を取得できます

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