Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

CakePHP menyarangkan dua kueri pemilihan

anda mungkin harus menggunakan subquery():

$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)
));

sumber untuk subquery ada di sini:https://github. com/dereuromark/tools/blob/2.0/Lib/MyModel.php#L405 Anda harus meletakkan ini di AppModel.php

TAPI saya pikir subquery tidak perlu. Anda mungkin dapat membuat kueri tunggal dan mudah darinya:

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

jangan lupa sertakan Kompetensi melalui "contain" jika Anda telah mengatur rekursif ke -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. Jumlah kumulatif lebih dari satu set baris di mysql

  2. Menggunakan fungsi hitung untuk menentukan apa yang ditampilkan dalam pernyataan if

  3. memindahkan tabel dari satu skema ke skema lain?

  4. Bagaimana cara mengambil catatan besar menggunakan Laravel dan MySQL?

  5. Bagaimana cara menyimpan data ke database di LARAVEL 5.2