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

Hapus Doctrine QueryBuilder dengan bergabung

Mungkin lebih baik menjalankan kueri dengan kondisi IN daripada iterasi.

$ids = $this->createQueryBuilder('product')
->join('..your joins..')
->where('..your wheres..')
->select('product.id')
->getQuery()->getResult();

$this->createQueryBuilder('product')
    ->where('product.id in (:ids)')
    ->setParameter('ids', $ids)
    ->delete()
    ->getQuery()
    ->execute();
  • Manfaat:berjalan lebih cepat, tidak perlu mengulang
  • Kekurangan:Anda tidak dapat menghubungkan ke preRemove

Mengenai perdebatan "di mana harus meletakkannya" yang memanas, berani memasukkannya ke dalam pengontrol jika Anda mau. Itu sepenuhnya terserah Anda. Namun, mungkin akan lebih berguna bagi Anda di masa mendatang jika Anda mendapatkan kode di kelas repositori doktrin khusus. Seharusnya sangat mudah dilakukan dan membuatnya mudah untuk diubah/dipertahankan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Negara dan negara bagian dropdown dinamis Laravel

  2. Bagaimana mengabaikan baris duplikat saat menyisipkan

  3. Pemformatan DateTime dalam .Net untuk database MySQL

  4. Bagaimana peningkatan otomatis dalam subset tabel MYSQL

  5. Hapus kueri yang tidak berfungsi di mysql