簡體   English   中英

CodeIgniter - 數據庫結果數組但只有一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM