ارسالها: 44
موضوعها: 30
تاریخ عضویت: مرداد 1394
اعتبار:
0
تشکرها: 24
1 بار تشکر شده در 1 پست
درود
در جلسه ی شش از دستور زیر در کلاس TrackStarActiveRecord استفاده میکنیم
Yii::app()->user->id
من از دستور فوق چیزی متوجه نمی شوم
user که اسم جدول ما نیست درسته؟
با دستور فوق به چه چیزی دسترسی پیدا می کنیم؟
با تشکر
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
Yii::app()->user شما رو به کامپوننت user که توی فایل تنظیمات main.php تعریف شده و برای مدیریت ورود و خروج و سشن کاربران و... کاربرد داره میرسونه که یه شئ از کلاس CWebUser هست.
ارسالها: 44
موضوعها: 30
تاریخ عضویت: مرداد 1394
اعتبار:
0
تشکرها: 24
1 بار تشکر شده در 1 پست
استاد انچه متوجه نمی شوم این است که چرا id کاربر جاری در ان جا قرار می گیرد؟
یعنی خودش می فهمد که این کاربر چون با فلان نام کاربری log in کرده پس می روم در جدول user که در پایگاه داده قرار دارد id مربوط به این کاربر را برمی دارم و در Yii::app()->user->id قرار می دهم؟ هم چین چیزی مگر امکان داره؟
اصلا از کجا می داند که باید سراغ کدام جدول در پایگاه داده برود اگر ما نام جدول را به جای user چیز دیگری مثل karbaran گذاشته باشیم چه؟
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
بله چنین چیزی امکان داره. Yii بطور پیشفرض اول دنبال فیلد name توی جدولی که برای کاربران توی UserIdentity مشخص کردین میگرده و اگه پیدا نکرد، اونوقت دنبال فیلد id میگرده. اگه هیچکدوم رو پیدا نکرد، اولین فیلد جدول رو استفاده میکنه. البته با کمک متدهای getId و getName به روشی که توی پکیج توضیح داده میشه میتونین هر فیلد دلخواه دیگه رو هم مشخص کنید. به ادامه مطالب توی پکیج دقت کنید تا متوجه بشین چطور از جدول Users میریم اطلاعات رو میخونیم و کاربر رو لاگین میکنیم.
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
دقیقاً همینجا گفتیم از جدول Users با کمک مدلی كه ازش ساختیم استفاده کنه. در ادامه هم id و name کامپوننت یوزر رو مقداردهی کردیم.