Secara otomatis memfilter baris yang tidak memenuhi ketentuan dalam Ajaran

Saya memiliki database yang sudah digunakan dan saya tidak bisa mengubahnya. Pada database ini saya menggunakan "penghapusan sementara": alih-alih menghapus catatan, saya hanya mengubah tanda (misalnya pengaturan del=1).

Saya tidak menggunakan template GEDMO (SoftDelete) tetapi saya menginginkan fungsi yang sama. Saat ini ketika saya menggunakan fungsi QueryBuilder/find, mereka mengembalikan catatan dengan del=1. Gagasan yang sama tentang fungsi entitas asosiasi; Saya harus memeriksa setiap saat apakah del=0.

Apakah ada cara untuk memfilter catatan dengan tanda del=1 secara otomatis, kecuali jika diminta secara eksplisit?


person Raisin    schedule 06.03.2015    source sumber
comment
Saya baru saja merapikan sedikit tata bahasa Anda dan semoga membuat pertanyaannya sedikit lebih mudah dipahami. Silakan langsung mengedit jika saya melakukan kesalahan. Saya juga mencoba membuat judul lebih spesifik, edit lagi jika perlu.   -  person Duncan Jones    schedule 06.03.2015


Jawaban (2)



Perspektif lainnya adalah membuat kode Anda lebih mudah dibaca dan mungkin lebih mudah dengan melakukan sesuatu seperti ini:

$entity = $em->getRepository("MyBundle:Entity")->findBy(['del' => 0]);

Ini menambahkan sedikit kode dan jelas bagi pembaca mana pun tentang apa yang Anda lakukan.

Sunting

Alternatifnya, jika database & hak istimewa Anda mengizinkan (misalnya, root di MySQL), Anda dapat membuat tampilan yang hanya berisi del=0 catatan. Untuk MySQL, inilah CREATE VIEW doc. Doktrin mengizinkan penggunaan pandangan.

person geoB    schedule 06.03.2015