Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

CakePHP lồng hai truy vấn chọn lọc

bạn có thể sẽ phải sử dụng một truy vấn con ():

$subqueryOptions = array('fields' => array('competence_id'), 'conditions' => array('employee_id'=>$user_id));
$subquery = $this->Competence->CompetenceRating->subquery('all', $subqueryOptions);

$res = $this->Competence->CompetenceRating->find('all', array(
    'conditions' => array('id NOT IN '. $subquery)
));

nguồn cho truy vấn con ở đây: https://github. com / dereuromark / tools / blob / 2.0 / Lib / MyModel.php # L405 bạn cần đặt cái này vào AppModel.php của mình

NHƯNG tôi nghĩ rằng truy vấn con là không cần thiết. Bạn có thể tạo một truy vấn đơn giản và dễ dàng từ nó:

$this->Competence->CompetenceRating->find('all', array(
    'group' => 'competence_id', 
    'conditions' => array('NOT' => 'employee_id'=>$user_id)),
    'contain' => array('Competence')
));

đừng quên bao gồm Năng lực thông qua "chứa" nếu bạn đã đặt đệ quy thành -1.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt Magento - Tên số nhận dạng quá dài

  2. Cách tìm tên bảng mà hình ảnh được chọn ngẫu nhiên

  3. Lỗi Golang MySQL - packets.go:33:EOF không mong muốn

  4. tạo cột văn bản làm khóa duy nhất

  5. JavaScript Xác nhận trước khi xóa bằng PHP / MYSQL