Вы можете использовать метод sub query для codeigniter, чтобы сделать это для этого, вам придется взломать codeigniter. как это
Перейти системы/базы данных/DB_active_rec.php Удалить публичное или защищенное ключевое слово из этих функций
public function _compile_select($select_override = FALSE)
public function _reset_select()
Теперь подзапрос в письменной форме доступной А теперь вот ваш запрос с активной записью
$this->db->select('trans_id');
$this->db->from('myTable');
$this->db->where('code','B');
$subQuery = $this->db->_compile_select();
$this->db->_reset_select();
// And now your main query
$this->db->select("*");
$this->db->where_in("$subQuery");
$this->db->where('code !=', 'B');
$this->db->get('myTable');
И все готово. Ура !!!
Примечание: При использовании вложенных запросов вы должны использовать
$this->db->from('myTable')
вместо
$this->db->get('myTable')
, который запускает запрос.
Часы это тоже
How can I rewrite this SQL into CodeIgniter's Active Records?
Примечание: В Codeigntier 3 эти функции уже общественности, так что вам не нужно, чтобы взломать их.
вы использовали подзапрос в CodeIgniter, как я отправил –
Да, мне удалось использовать его успешно несколько минут назад .. :) Спасибо :) –
@raheelshan. Не могли бы вы проверить этот пост. http://stackoverflow.com/q/11045611/1209690 Спасибо :) –