Выберите только один столбец из нескольких строк в codeigniter. Как это сделать и является ли это более эффективным?
Я думаю об эффективности, и я не совсем уверен в этом так или иначе.
Но у меня есть куча строк с несколькими столбцами. Мне просто нужно поле name из всех строк, где определенный другой ключ является определенным значением. Я могу получить все эти строки следующим образом:$this->db->where('res_id', $res_id);
$q = $this->db->get('products');
return $q->result();
Тогда я могу foreach через массив, который он возвращает, и использовать только метод name каждого объекта liek this:
foreach($returned_value as $fun):
echo $fun->name;
endforeach;
Но мне интересно, было бы эффективнее выбрать только имя атрибут из каждой строки, и я чувствую себя глупо, спрашивая его, потому что я использую active record навсегда, но как бы я пошел на это. Я понимаю, что могу записать его с помощью функции $this->db->query()
, но есть ли способ указать его с помощью основных команд active record? Спасибо.
1 ответ:
$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(); }