optimistic locking in CakePHP, bunu uygulayan bir davranış binasında bir bıçak alıyorum için herhangi bir destek olacaksa görünmüyor çünkü. Davranışlar içine biraz araştırma yaptıktan sonra, ben sürümü alan değişmediğini kontrol etmek BeforeSave olay bir sorgu çalıştırabilir düşünüyorum.
Ancak, ben daha ziyade güncelleme ifadenin NEREDE maddesini değiştiren tarafından kontrol uygulamak istiyorum
WHERE id = ?
karşı
WHERE id = ? ve version = ?
This way I don't have karşı worry about other requests changing the database record between the time I read the version ve the time I execute the update. It also means I can do one database call instead of two.
I can see that the DboSource.update()
method supports conditions, but Model.save()
never passes any conditions karşı it.
Ben birkaç seçenek var gibi görünüyor:
beforeSave()
onay yapmak ve kurşun geçirmez değil gerçeği ile yaşamak.- Hack my local copy of CakePHP karşı check for a
conditions
key in theoptions
array ofModel.save()
ve pass it along karşı theDboSource.update()
method.
Right now, I'm leaning in favour of the second option, but that means I can't shvardır my behaviour with other users unless they apply my hack karşı their framework.
Ben daha kolay bir seçenek cevapsız mı?