我正在考虑效率问题,而且我不太确定这种方式。
但是我有一堆有多列的行。我只需要来自所有行的名称字段,其中某个其他键是特定值。我可以像这样得到所有这些行:
$this->db->where('res_id', $res_id);
$q = $this->db->get('products');
return $q->result();
然后我可以通过它返回的数组进行操作,并且只使用每个对象的名称方法来代替:
foreach($returned_value as $fun):
echo $fun->name;
endforeach;
但是我想知道,仅从每一行中选择name属性会更有效率,我觉得愚蠢的问我因为我一直在使用活动记录,但我怎么会这样做。我意识到我可以使用$this->db->query()
函数将其写出来,但有没有办法使用主要的活动记录命令来指定它?感谢。
答案 0 :(得分:7)
$this->db->select('name');
$this->db->from('tblNAME');
$this->db->where('res_id', $res_id);
return $this->db->get()->result();
我认为它更快更有效,因为你没有归还所有东西。
UNTESTED
这是我使用的一个经过测试的功能,您可能会找到很好的重新参考
function get($id = null)
{
$this->db->select('id, Username, First_Name, Last_Name, Role, Email');
$this->db->from('user');
if (!is_null($id)) $this->db->where('id', $id);
$this->db->order_by('id', 'desc');
return $this->db->get()->result();
}