[英]CodeIgniter - database result array but only one row
我正在尋找一種從數據庫查詢返回數組的方法,但僅限於第一行。 我不想使用對象..
我目前的解決方案
//Gather
$data = $this->db->from('view')->where('alias', $alias)->get()->result_array();
//Collect the first row only
$data = $data[0];
說實話,這非常難看。 如上所述,我寧願不使用對象。
改為使用row()
方法:
$data = $this->db->from('view')->where('alias', $alias)->get()->row();
[哦,你不想使用物體。 然后是row_array()
。 但考慮對象。]
你可以這樣做:
$data = $this->db->from('view')->where('alias', $alias)->get()->row_array();
這和minitech的答案一樣,只返回一個數組(就像你想要的那樣)而不是一個對象。
您可以使用row_array()函數從單行中獲取數據。 將該行指定為參數。
例如,要獲取結果的第一行,請執行以下操作:
$this->db->from('view')->where('alias', $alias)->get()->result_array(0);
如果您只想將第一行作為數組,您也可以使用此代碼:
$data = $this->db->from('view')->where('alias', $alias)->get()->first_row('array');
但是如果你真的只想獲得1個結果,那么總是使用select('TOP 1 ....'),因為這種方法可以提高你的查詢返回時間性能。 當你直接使用get()時,它會嘗試返回整個數據,而不僅僅是第一行。 然后它顯示了你想要的東西(第一排)。 但是如果你使用TOP 1方法; 這是最好的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.