Belki sadece benim sorununa çözüm ve cehenneme tamamen cahil oldum, belki de yerleşik ... Ben sadece böyle bir çözüm bulmak mümkün olmamıştır oluyor. Ben son iki hafta boyunca ve aktif son gün için pasif arıyorum.
Nasıl gracefully symfony bir yabancı anahtar kısıtlaması işleyebilir?
Ben istisna (Doctrine_Connection_Exception) alıcı kabul ettik ve assuming daha sonra yabancı anahtar kısıtlamaları için bir eylem ile bir hata modülüne kullanıcıyı yönlendirme, bir yabancı anahtar kısıtlaması oldu. Ancak, kod fazlalık veritabanına her çağrı etrafında bir try-catch bloğu koymak zorunda çirkin alacağı, benim baz aksiyon sınıfa koydum bile, iğrenç ve. Not to mention, özel bir yabancı anahtar kısıtlaması için varsayımı SQL sözdizimi ve fiili bağlantı hataları da var, bu istisna denir çünkü korkunç bir fikirdir.
Istisna sınıfından devralınan - - Ben getPortableCode () ve getPortableMessage () yöntemlerini kullanarak düşündüm (onlar yapabileceği) bir yabancı anahtar kısıtlaması olmadığını belirlemek için ama onlar kısıtlaması kendisi hakkında hiçbir bilgi vermek . Bir kısıtlama istisnası atılır Örneğin, getPortableCode () '-5' döner ve getPortableMessage () 'zaten var' döndürür. Verilen, muhtemelen tabii ki, birden fazla kısıtlamaları ile komplike şeyler yaptık, başarısız anlamaya ve tek bir kısıtlama varsa benim kullanıcı için bir hata kusmak, ama olabilir.
Bu cansız ele şey olması gerektiği gibi Neyse, benim başıboş yeter, ben diğer geliştiriciler benim durum ne yaptığını anlamaya çalışıyorum ... Öyle görünüyor "nazik giriş."