انجمن پشتیبانی فارسی فریم ورک کیک پی اچ پی - cakephp

نسخه‌ی کامل: تعریف فیلد‌های ReadOnly در مدل
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام

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

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

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

کد پی‌اچ‌پی:
unset($this->request->data['username']);
unset(
$this->request->data['token']); 
(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 بزاری و یه شرط هم بزاری که اگر فیلد مثلا توکن پر بود عملیات اپدیت انجام نشه.فکر میکنم عملی باشه ولی خودم هنوز اینو امتحان نکردم.
خود من هم همچین ایده‌ای داشتم از اول ،فقط روش اصولی این کار رو پیدا نکردم.

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