我在考虑效率,但我不确定以一种或另一种方式。
但我有一堆多列的行。我只需要某个其他键是某个值的所有行中的名称字段。我可以像这样得到所有这些行:
$this->db->where('res_id', $res_id);
$q = $this->db->get('products');
return $q->result();
然后我可以通过它返回的数组 foreach 并且只使用每个对象的名称方法,例如:
foreach($returned_value as $fun):
echo $fun->name;
endforeach;
但我想知道,只从每一行中选择 name 属性会更有效吗,我觉得问它很愚蠢,因为我一直在使用事件记录,但我该怎么做。我意识到我可以使用
$this->db->query()
写出来函数,但是有没有办法使用主要的事件记录命令来指定它?谢谢。
最佳答案
$this->db->select('name');
$this->db->from('tblNAME');
$this->db->where('res_id', $res_id);
return $this->db->get()->result();
我想它更快,更有效,因为你没有返回所有东西。
未经测试
这是我使用的经过测试的功能,您可能会找到很好的引用
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();
}
关于codeigniter - 在 codeigniter 的多行中仅选择一列。如何以及这是否更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11874194/