در جلسه ی قبل توضیح دادم که من می خواهم برای پروفایل ها یک جدول کاملا جداگانه در پایگاه داده داشته باشم. چرا؟ از نظر من کاربر (user) و پروفایل او (profile) دو مفهوم جدا از هم هستند و نمی خواهم همه چیز را در یک جدول قرار بدهم. با این حساب باید یک Model جدید نیز بسازیم. چرا؟ به دلیل اینکه هر فایل یا کلاس Model نماینده ی یک جدول در پایگاه داده است و هر شیء ساخته شده (instance) از کلاسِ Model نماینده ی یک ردیف از آن جدول (یک کاربر یا یک پست) است. اگر ما جدول جدیدی می خواهیم باید یک فایل جدید model داشته باشیم. برای این کار می گوییم: php artisan make:model Profile -m Profile نامی است که من برای Model خودم انتخاب کرده ام و m- را نیز به آن داده ام تا یک migration نیز برایش ساخته شود. با اجرای دستور بالا پیام زیر را می گیریم: Model created successfully. یعنی علاوه بر Model فایل migration نیز ساخته شده است. محتوای فایل Model ما که در مسیر app->Profile.php قرار دارد یک فایل خالی است و فعلا با آن کاری نداریم. در قدم اول به فایل migration خود رفته و در متد up کد های زیر را قرار بدهید. همانطور که می بینید من یک ستون id، یک ستون title، یک ستون description، یک ستون url و دو ستون created_at و updated_at (برای timestamps) داریم. من مقدار حداکثر ستون های title و Description و url را روی 255 کاراکتر گذاشته ام چرا که همگی متن های بسیار کوتاهی هستند و نیازی به جای بیشتری ندارند (تعیین مقدار حداکثر varchar از مباحث MySQL است که باید با آن آشنا باشید). این می شود جدول profiles در پایگاه داده ی ما، اما هنوز باید آن را به جدول کاربران users متصل کنیم. چرا؟ به دلیل هر کاربر یک پروفایل دارد و هر پروفایل متعلق به یک کاربر است (رابطه ی یک به یک). اینجاست که وارد مفاهیم foreign key و غیره می شویم و اکثر این مباحث مربوط به MySQL است بنابراین امیدوارم با آن ها آشنا باشید. برای متصل کردن دو جدول باید چند کار را انجام بدهیم. ابتدا در migration فعلی برای profiles می گوییم:
پنل نویسندگان




