Bạn có thể sử dụng cách truy vấn phụ của người ký mã để thực hiện việc này cho mục đích này, bạn sẽ phải hack codeigniter. như
này Tới hệ thống/cơ sở dữ liệu/DB_active_rec.php Hủy bỏ từ khóa công cộng hoặc bảo vệ khỏi các chức năng này
public function _compile_select($select_override = FALSE)
public function _reset_select()
viết Bây giờ subquery trong sẵn Và bây giờ ở đây là truy vấn của bạn với kỷ lục hoạt động
$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');
Và mọi việc đã xong. Chúc mừng !!!
Lưu ý: Trong khi sử dụng các truy vấn phụ bạn phải sử dụng
$this->db->from('myTable')
thay vì
$this->db->get('myTable')
chạy truy vấn.
Watch this quá
How can I rewrite this SQL into CodeIgniter's Active Records?
Lưu ý: Trong Codeigntier 3 các chức năng này đã được cộng đồng do đó bạn không cần phải hack chúng.
Nguồn
2012-06-14 10:44:04
bạn đã sử dụng subquery trong CodeIgniter như tôi gửi –
Có, tôi đã cố gắng sử dụng nó thành công vài phút trước .. :) Cảm ơn :) –
@raheelshan. Bạn vui lòng kiểm tra bài đăng này. http://stackoverflow.com/q/11045611/1209690 Cảm ơn :) –