PDA

View Full Version : سوال: مقدار id در متد beforeSave در کلاس TrackStarActiveRecord



desatir7316
سه شنبه 27 اسفند 1392, 23:50 عصر
protected function beforeSave()
{

if(null !== Yii::app()->user)
$id=Yii::app()->user->id;
else
$id=1;

if($this->isNewRecord)
$this->create_user_id=$id;

$this->update_user_id=$id;

return parent::beforeSave();
}


می خواستم بدونم توی شرط اولی قسمت else چرا مقدار id$ رو خودش دستی یک داده؟ خوب بالاخره id یک هم برای یه کاربری هست
راستی من دقیقا نمی دونم فیلدهای create_use_id , update_user_id برای چی استفاده می شن

ممنون

desatir7316
چهارشنبه 28 اسفند 1392, 21:59 عصر
مسئولین لدفا...

bestirani2
چهارشنبه 28 اسفند 1392, 23:41 عصر
وجود 1 اینجا منطقی نیست باید از کسی که کد رو نوشته بپرسید.

در مورد سوال دومتون.
create_use_id مربوط به زمان ایجاد هست و update_user_id مربوط به زمان که تغییری ایجاد کردید.
دقت داشته باشید وقتی create_use_id مقدار دهی می شود که یک رکورد جدید داشته باشیم به بیان دیگر قصد insert داشته باشیم یعنی فقط بار اول.

desatir7316
چهارشنبه 28 اسفند 1392, 23:53 عصر
وجود 1 اینجا منطقی نیست باید از کسی که کد رو نوشته بپرسید.

منتظر جواب آقای شهرکی ام



در مورد سوال دومتون. create_use_id مربوط به زمان ایجاد هست و update_user_id مربوط به زمان که تغییری ایجاد کردید.
دقت داشته باشید وقتی create_use_id مقدار دهی می شود که یک رکورد جدید داشته باشیم به بیان دیگر قصد insert داشته باشیم یعنی فقط بار اول.

ممنون، می دونم
مورد استفادشو خواستم بدونم

bestirani2
پنج شنبه 29 اسفند 1392, 02:03 صبح
ممنون، می دونم
مورد استفادشو خواستم بدونم

مورد استفادش بر میگرده به بیزینسی که برنامه داره. این خوبه که اطلاعاتی مثل این رو توی گزارش گیری به مدیریت ارائه کرد.
به عنوان مثال میشه یه نمودار از محدوده زمانی و تعداد کاربرانی که عضو شدند درست کرد
یا از فیلد آپدیت برای کش استفاده کرد و اون رو به عنوان وابستگی کش تعریف کرد. اینطوری تا زمانی که کاربری آپدیت نشه از کش خودنه میشه

desatir7316
پنج شنبه 29 اسفند 1392, 03:00 صبح
منمون، قسمت کش جالب بود
فقط می مونه اون سوال اول که همچنان بی صبرانه منتظر دوست عزیزمان هستیم...

MMSHFE
پنج شنبه 29 اسفند 1392, 13:57 عصر
دوست عزیز، همه چیز بستگی به تجزیه و تحلیل و الگوریتم شما داره. توی پروژه TrackStar که توی آموزش توضیح داده شده، قصدمون از این کد این بود که اگه کاربر موردنظر پیدا نشد، کاربر شماره 1 که Admin هست بعنوان مدیر پروژه انتخاب بشه.

bestirani2
پنج شنبه 29 اسفند 1392, 16:03 عصر
دوست عزیز، همه چیز بستگی به تجزیه و تحلیل و الگوریتم شما داره. توی پروژه TrackStar که توی آموزش توضیح داده شده، قصدمون از این کد این بود که اگه کاربر موردنظر پیدا نشد، کاربر شماره 1 که Admin هست بعنوان مدیر پروژه انتخاب بشه.
جناب شهرکی به نظرم تحلیل خوبی اینجا به کار نگرفتید.
فرض کنید به دلایلی کاربر یک رو پاک کردیم از دیتابیس و کاربری با ای دی شماره 2 رو ساختیم. در این حالت کد شما خطا میگیره.
راه بهتر این بود که امکان قرار دادن نال هم میگذاشتید تا اگه کاربر وجود نداشت نال قرار بدید تا فهمیم کدوم پروژه ها ادمین نداره
یا حداقل میتونستید یه پارامتر توی کانفیگ در نظر بگیرید تا کاربر مدیر رو اونجا مشخص کنید
یا راه بهتر از پارامتر این بود که به دیتابیس وصل میشدید و کاربری که ادمین هست رو آی دی اش رو پیدا میکردید.

MMSHFE
پنج شنبه 29 اسفند 1392, 16:15 عصر
نه الآن اگه یک کاربر رو حذف کنید، پروژه های مربوط به اون هم حذف میشه. ضمناً کاربر Admin الآن کاربر شماره 1 هست و هر کسی میتونه منطق دلخواه خودش رو توی پروژه بگذاره. بهرحال پروژه Trackstar ایده من نبود و توی کتاب Web application development with Yii and PHP انتخاب شده بود که چون منبع اصلی این آموزش بود و من ایرادهاش رو رفع کردم و توضیحات بیشتر و به زبان فارسی بهش اضافه کردم و بصورت تصویری تبدیلش کردم، دیگه پروژه رو تغییر ندادم. ضمناً هدف این آموزش، یاددادن امکانات Yii بوده نه انجام یک پروژه خوب و موفق و کامل با Yii وگرنه خیلی کارهای میشه برای بهترکردن این پروژه انجام داد.

bestirani2
پنج شنبه 29 اسفند 1392, 16:35 عصر
نه الآن اگه یک کاربر رو حذف کنید، پروژه های مربوط به اون هم حذف میشه. ضمناً کاربر Admin الآن کاربر شماره 1 هست و هر کسی میتونه منطق دلخواه خودش رو توی پروژه بگذاره. بهرحال پروژه Trackstar ایده من نبود و توی کتاب Web application development with Yii and PHP انتخاب شده بود که چون منبع اصلی این آموزش بود و من ایرادهاش رو رفع کردم و توضیحات بیشتر و به زبان فارسی بهش اضافه کردم و بصورت تصویری تبدیلش کردم، دیگه پروژه رو تغییر ندادم. ضمناً هدف این آموزش، یاددادن امکانات Yii بوده نه انجام یک پروژه خوب و موفق و کامل با Yii وگرنه خیلی کارهای میشه برای بهترکردن این پروژه انجام داد.
درسته. من که نه این پروژه رو دیدم نه این کتاب رو خوندم. در کل نظرم رو در رابطه با تحلیل صورت گرفته گفتم. از طرف دیگه این پروژه جهت آموزش بوده و نیاز به انجام خیلی از کارها نبوده و نیست و من صرفاً جهت اینکه به desatir7316 دیدی جهت تحلیل پروژه هایی که میخواند بنویسند داده باشم این راه کار ها رو بیان کردم.