8/12/2011

CakePHP : Update хийхдээ анхаарах зүйл


Урьд нь CakePHP дээр юм хийж байгаагүй л дээ. Саяхан нэг систем дээр бага зэргийн засвар хийх ажил гарсан юм.
Өөрийн хийх гэж байсан хуудасаа эхлээд Bake ашиглан үүсгээд дээрээс нь засаад явсан юм. Bake-р үүсгэхэд Update хэсэг нь Insert үйлдэлтэйгээ ижил Save гэсэн функц ашигладаг. Save гэсэн функц нь бичлэг урьд нь бүртгэгдсэн эсэхээс хамаарч Update болон Insert хийдэг.Update хийх үед тухайн функц нь Модель дотор доторхойлогдсон Validate массив-н дагуу автоматаар оролтын утгыг шалгадаг. Оролтын утгыг шалган алдаа үүсээд(оролтын утгыг буруу) , алдаатай оруулсан өгөгдлийг засварлан дахин Update хийхэд тухайн бичлэг урьд өмнө бүртгэгдсэн эсэхээс үл хамаарч Save функц маань Update биш Insert хийдэг. Тийм учир ижил бичлэг шинээр нэмэгдэх эсвэл бүртгэгдсэн байна гэсэн алдаа үүсэх магадлалтай юм. Алдаа үүсээгүй дорхиолдолд асуудалгүйгээр тухайн бичлэг Update хийгдэнэ. Дээрх шалтгаанаас Update хийхдээ Save биш Savefield,updateAll гэсэн функцын аль нэгийг ашиглаж болох ба асуудал нь модель дотор тодорхойлогдсон Validate массивын дагуу оролтын утгыг автомараат шалгадаггүй болно. Иймээс оролтын утгыг шалгадаг функцыг дахин тодорхойлж оролтыг шалгах хэрэгтэй.(Эсвэл Validate массив-н дагуу их амархан шалгачих арга байдаг байх) CakePHP ашиглан юм хийж байсан туршлагатай хүмүүс энэ бичлэгийг уншвал жуумалзаж магадгүй л юм. :-P

1 санал,шүүмж:

... on August 16, 2011 10:23 PM said...

update хийж байгаа өгөгдлийнхөө id утгыг нь алдаа заасан дохиолдолд нь дахин олгож өгвөл save функ ашиглаад update хийсэн нь амар юм байна шүү.

 

Надад итгэл бий Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template