ما در قسمت قبل روابط جدول ها در سمت پایگاه داده را برای Model هایمان روشن کردیم و حالا نوبت به کدنویسی است. من برای شروع به فایل home.blade.php می روم و داده های جدید و ذخیره شده در سمت سرور را در این view نمایش می دهیم. یادتان باشد که داده ها را با کنترلر در view تزریق کرده بودیم (فایل web.php): Route::get(‘/profile/{user}’, ‘ProfilesController@index’)->name(‘profile.show’); بنابراین داده های کاربر در متغیری به نام user ذخیره و به view پاس داده می شود (اینها همه یادآوری از جلسات قبل بود). در حال حاضر داده ها به صورت دستی نوشته شده اند. اما ما می دانیم که به user$ دسترسی داریم بنابراین می توانیم این کار را انجام بدهیم. با توجه به توضیحات جلسه ی قبل فکر نمی کنم نیازی به توضیح اضافه باشد اما در مورد url که null است باید بگویم که لاراول به صورت خودکار مقادیر null در view ها را را برابر یک رشته ی خالی در نظر می گیرد بنابراین با اینکه href را تعریف کرده ایم اما اصلا چیزی مشاهده نخواهیم کرد. با refresh کردن مرورگر نتیجه ی زیر را می بینید. برای حل مشکل خالی بودن url می توانیم یک مقدار پیش فرض را در نظر بگیریم. علامت های ؟؟ یعنی اگر url وجود نداشت از رشته ی N/A استفاده کن (شما می توانید هر رشته ی دیگری را به جایش بگذارید). N/A مخفف Not Available (به معنی «در دسترس نیست») می باشد. من این مثال را زدم تا شما بدانید چطور می توانیم مقادیر پیش فرض را در blade تعریف کنیم اما این مثال اصلا مثال خوبی نیست و من آن را به حالت قبلی برمی گردانم.
چرا؟ به دلیل اینکه ما href داریم و نشان دادن رشته ی N/A آن را به یک لینک به نام N/A تبدیل می کند که به آدرس href ما می رود! روش بهتر این است که کد ها را به شکل زیر بنویسیم. یعنی با یک شرط if می گوییم اگر url صحیح بود (null و خالی نبود) لینک را نمایش بده در غیر این صورت یک متن ساده نمایش می دهیم که می گوید No Links Available (هیچ لینکی در دسترس نیست). همچنین من از محیط PHPMyAdmin به جای Cool Title و Description مقادیر قبلی خومان را در پایگاه داده ثبت می کنم تا با refresh کردن صفحه دوباره نتیجه ی زیر را ببینیم:




