انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp
تعریف فیلد‌های ReadOnly در مدل - نسخه قابل چاپ

+- انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp (http://forum.cakephp.ir)
+-- انجمن: پرسش و پاسخ و رفع اشکال - نسخه ۳ (http://forum.cakephp.ir/forum-37.html)
+--- انجمن: مدل ها (Models) (http://forum.cakephp.ir/forum-42.html)
+--- موضوع: تعریف فیلد‌های ReadOnly در مدل (/thread-1532.html)



تعریف فیلد‌های ReadOnly در مدل - masud - 2016/03/31

سلام

می‌خواستم بدونم چطور میشه تو مدل تعیین کرد که بعضی از فیلد ها در هنگام ویرایش (Update) بصورت ReadOnly در نظر گرفته شوند.

مثلا در جدول users فیلدهای username و token وقتی برای بار اول تعیین شدند، بعداً قابل تغییر نباشند.

این رو هم میدونم که میشه تو کنترولر در اکشن Edit میشه از کد زیر استفاده کرد ولی من می‌خوام تو مدل این کار رو انجام بدم که تو همه اکشن هایی که رکورد رو تغییر میده اعمال بشه.

کد پی‌اچ‌پی:
unset($this->request->data['username']);
unset(
$this->request->data['token']); 



RE: تعریف فیلد‌های ReadOnly در مدل - mahdi_smf - 2016/04/01

(2016/03/31, 04:53 PM)masud نوشته:  سلام

می‌خواستم بدونم چطور میشه تو مدل تعیین کرد که بعضی از فیلد ها در هنگام ویرایش (Update) بصورت ReadOnly در نظر گرفته شوند.

مثلا در جدول users فیلدهای username و token وقتی برای بار اول تعیین شدند، بعداً قابل تغییر نباشند.

این رو هم میدونم که میشه تو کنترولر در اکشن Edit میشه از کد زیر استفاده کرد ولی من می‌خوام تو مدل این کار رو انجام بدم که تو همه اکشن هایی که رکورد رو تغییر میده اعمال بشه.

کد پی‌اچ‌پی:
unset($this->request->data['username']);
unset(
$this->request->data['token']); 

سلام

میتونی یه ولیدیشن بزاری داخل مدل و requirePresence رو روی update بزاری و یه شرط هم بزاری که اگر فیلد مثلا توکن پر بود عملیات اپدیت انجام نشه.فکر میکنم عملی باشه ولی خودم هنوز اینو امتحان نکردم.


RE: تعریف فیلد‌های ReadOnly در مدل - masud - 2016/04/02

خود من هم همچین ایده‌ای داشتم از اول ،فقط روش اصولی این کار رو پیدا نکردم.

الآن تو کنترولر فیلد token یا username رو unset میکنم.