現時点で、1行のみを返すデータベースでクエリを実行している場合は、次を使用します。
...query stuff...
$query = $this->db->get();
$ret = $query->result();
return $ret[0]->campaign_id;
最初の行を返すCodeIgniter関数はありますか? $query->row();
のようなもの
または、行が1つしかない場合は、クエリオブジェクトを直接使用するだけの機能もあります。
例えば$query->campaign_id;
あなたはあなた自身の質問に答えたばかりです:)次のようなことができます:
$query = $this->db->get();
$ret = $query->row();
return $ret->campaign_id;
詳細については、こちらをご覧ください: http://www.codeigniter.com/user_guide/database/results.html
結果は1行になるため、これはより良い方法です。
$this->db->query("Your query")->row()->campaign_id;
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
最初の行を取得するつもりであることをコードで明確にするために、CodeIgniterでは次を使用できるようになりました。
if ($query->num_rows() > 0) {
return $query->first_row();
}
最初の行を取得します。
$this->db->get()->row()->campaign_id;
2行で変更するだけで、実際に必要なものを取得できます。
$query = $this->db->get();
$ret = $query->row();
return $ret->campaign_id;
それを試してみてください。
クエリで単一の使用制限を取得できます
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);