رابطه یک به یک در لاراول

یکی از عناصر اساسی فریم ورک لاراول، الوکوئنت Eloquent ORM  است. لاراول برای برقرار کردن رابطه بین دو یا چند جدول در دیتابیس از Eloquent ORM استفاده می کند. این فریم ورک محبوب برای ایجاد ارتباط بین مدل های الوکوئنت، روش های کابر پسند بسیاری فراهم نموده است. در این جلسه یکی از این رابطه ها بنام رابطه یک به یک در لاراول با یک مثال عملی، مورد مطالعه قرار می گیرد.

آموزش رابطه یک به یک در لاراول One To One

در آموزش لاراول، رابطه یک به یک در لاراول، ساده ترین و بنیادی ترین نوع ارتباط می باشد. استفاده از این رابطه بسیار آسان و کاربردی است. رابطه یک به یک در لاراول یک ستون از یک جدول پایگاه داده را به تنها یک ستون از جدولی دیگر پیوند می دهد.

 برای مثال فرض کنید جدولی داریم به نام users که برای احراز هویت کاربران، به کار می رود. می خواهیم اطلاعات دیگر کاربر از قبیل تاریخ تولد، بیو و آدرس شبکه های اجتماعی را نیز ذخیره کنیم. می توانیم این اطلاعات را در همان جدول users در داخل 4 ستون دیگر ذخیره کنیم. اما با این کار جدول users شلوغ و اندکی کثیف خواهد شد.

برای تمیز نگه داشتن جداول، می خواهیم نام و کلمه عبور و ایمیل کاربران را در جدول users  و اطلاعات پروفایل کاربر را در جدولی دیگر بنام profiles ذخیره کنیم.

می دانیم که باید هر کاربر تنها یک profile  خواهد داشت و هر profile تنها متعلق به یک user  خواهد بود.

ایجاد مدل ها و جداول

می دانیم که هنگام نصب لاراول، مدل User و مایگریشن users بصورت اتوماتیک در پروژه ایجاد می شود و ما فقط نیاز به ایجاد مدل Profile و مایگریشن اش می باشیم. می توانیم با یک دستور هر دو را بسازیم :

سپس برای ایجاد رابطه یک به یک migration مربوط به جدول profiles را هم باز می کنیم و اینگونه تغییر می دهیم :

کلید خارجی یا foreign key

در خط پنجم اقدام به تعریف کلید خارجی یا foreign key می کنیم. کلید خارجی وظیفه اتصال و ارتباط دو جدول را به عهده دارد و هنگام ثبت یک profile جدید، مقدار این کلید دقیقا برابر id  مربوط به  user مربوط به این   profileخواهد بود. نوع این کلید باید با id  جدول users مطابقت داشته باشد زیرا این کلید به آن id  اشاره می کند. مثلا در این مورد چون نوع id  در جدول users برابر با bigIncrements بود، نوع کلید خارجی را هم bigInteger قرار دادیم.

در خطوط آخر دقیقا اشاره کردیم که کلید خارجی مربوط به کدام ستون از کدام جدول است :

عبارت های OnDelete هم اشاره می کنند که هنگام حذف یک user پروفایلش نیز از جدول profiles حذف گردد.

سپس دستور زیر :

بررسی رابطه یک به یک در phpmyadmin :

اگر در phpmyadmin روی دیتابیس تان کلیک کرده و به سربرگ یا همان منوی Designer  بروید با شکل زیر مواجه خواهید شد :

دیاگرام رابطه یک به یک در لاراول

Laravel One to One Diagram

این شکل نشانگر ارتباط بین دو جدول و نیز ارتباط ستون id از جدول users  و ستون user_id از جدول profiles است. درواقع این ارتباط زمانی ایجاد شد که کلید خارجی تعریف کردیم. این شکل به خوبی نشان می دهد که user_id همان id در است.

تعریف رابطه یک به یک :

 

در  مدل User  متد زیر را تعریف می کنیم  :

در مدل Profile  :

فراخوانی اطلاعات از رابطه OneToOne لاراول

حال که رابطه بین دو جدول را برقرار کرده اید می توانید به اطلاعات پروفابل هر کاربر با صدا زدن متد profile البته بدن پرانتز دسترسی پیدا کنید :

 لاراول برای فراخوانی پروفایل کاربر، به جدول profiles سر زده و در ستون user_id دنبال عددی برابر id  کاربر خواهد گشت.

ایجاد رابطه یک به یک برای user

برای ایجاد پروفایل برای یک کاربر می توان از دو روش استفاده کرد :

روش اول : استفاده از متد save()

روش دوم : استفاده از متد create()

حذف رابطه یک به یک از user

حذف پروفایل یک کاربر همانند ایجاد ارتباط برای آن است. با این تفاوت که به جای متد create از متد delete استفاده خواهیم کرد :

حال اگر dd بگیریم :

عبارت null در صفحه را مشاهده خواهید نمود.

نکته

چون هنگام تعریف کلید خارجی از عبارت onDelete(‘cascade’)  استفاده کردیم، هنگام حذف یک کاربر، پروفایل آن نیز از جدول profiles  حذف خواهد شد.

 

برای مشاهده جلسه چهاردهم (رابطه یک به چند در لاراول) کلیک کنید.


مشخصات فیلم آموزشی

نام اثر : فیلم آموزش صفر تا صد لاراول – جلسه سیزدهم: رابطه یک به یک در لاراول

 مدرس : مهندس سالار عباپور

مدت زمان : 37 دقیقه

زبان آموزش : فارسی

حجم فایل : یک فایل با حجم 110 مگا بایت

فرمت ویدئو : MP4 با کیفیت بالا


پیش نمایش

درباره محصول

فیلم آموزش صفر تا صد لاراول – جلسه سیزدهم: رابطه یک به یک در لاراول 6 محصولی است که در این پست به آن پرداخته شده است.  در این آموزش به توضیح و معرفی رابطه ها در لاراول پرداخته شده است است. این محصول بصورت کامل توسط گروه پشتیبانی پی استور تست و بازبینی شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد.

 

سرفصل‌های دوره برنامه‌نویسی وب با زبان PHP و فریم‌ورک لاراول 6

معرفی فریم ورک لارول

در این جلسه به معرفی کلیات و مقدمه ای از فریم ورک لاراول Laravel که محبوت ترین فریم ورک زبان برنامه نویسی PHP می باشد، پرداخته و مزایای بی نظیر آن اشاره می شود.


زبان آموزش: فارسی مدت زمان: 13 دقیقه مدرس: مهندس سالار عباپور  نمایش: رایگان


برای آموزش این بخش کلیک کنید.

نصب لاراول و پیش نیازهای آن

در این جلسه به آموزش نصب فریم ورک لاراول Laravel و پیش نیاز های آن پرداخته می شود.


زبان آموزش: فارسی مدت زمان: 20 دقیقه مدرس: مهندس سالار عباپور  نمایش: رایگان


برای آموزش این بخش کلیک کنید.

آدرس دهی در لارول 6

در این جلسه به نحوه کدنویسی و استفاده از فریم ورک لاراول  Laravel 6 پرداخته می شود آدرس دهی و ساخت صفحات از ابتدایی ترین آموزش های لارول است که در این قسمت بصورت کلی به آن اشاره می شود.


زبان آموزش: فارسی مدت زمان: 30 دقیقه مدرس: مهندس سالار عباپور  نمایش: رایگان


برای آموزش این بخش کلیک کنید.

معرفی کنترلر ها و استفاده از آن ها در لاراول Laravel 6

در این جلسه به توضیح و معرفی کنترلر ها و استفاده از آن ها در لاراول Laravel 6 پرداخته می شود. کنترلر‌ها به عنوان یکی از اساسی‌ترین و مهم‌ترین بخش‌های یک وب سایت و یا اپلیکیشن به‌حساب می‌آیند.


زبان آموزش: فارسی مدت زمان: 17 دقیقه مدرس: مهندس سالار عباپور  نمایش: رایگان


برای آموزش این بخش کلیک کنید.

استفاده از Bootstrap در لاراول 6

در این جلسه به استفاده از بوت استرپ Bootstrap، NMP و لاراول میکس در فریم ورک لاراول  Laravel 6 پرداخته می شود


زبان آموزش: فارسی مدت زمان: 17 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

طراحی قالب کلی سایت در لارول 6 LARAVEL

در این جلسه آموزش طراحی قالب کلی سایت در لارول 6 قرار داده شده است. برای طراحی قالب کلی سایت مفاهیم  استفاده از layout ها، معرفی دستور جدید npm برای رصد کردن تغییرات لحظه ای استایل ها، ایجاد فایل sccs برای هر فایل view و وارد کردن فایل های scss در فایل اصلی app.scss


زبان آموزش: فارسی مدت زمان: 33 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

تنظیمات دیتابیس و ساخت جدول در لاراول 6 LARAVEL

در این جلسه از مجموعه جلسات آموزش صفر تا صد لاراول 6 به بررسی و آموزش تنظیمات دیتابیس و ساخت جدول در لاراول 6 Laravel پرداخته می شود. تنظیمات دیتابیس یکی از مهم ترین قسمت در فریم ورک لاراول است. در لاراول 6 هم این تنظیمات با نسخه های قبلی تفاوت آن چنانی ندارد.


زبان آموزش: فارسی مدت زمان: 24 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

آموزش ELOQUENT و MODEL ها در لاراول 6 LARAVEL

در این جلسه از مجموعه جلسات آموزش صفر تا صد لاراول 6 به بررسی و آموزش ELOQUENT و MODEL ها در لاراول 6 Laravel پرداخته می شود. Eloquent ابزاری عالی جهت پیاده‌سازی انواع مختلف عملیات‌های محاسباتی و پردازشی پایگاه‌ داده یا همان دیتابیس (ORM مخفف Object-relational mapping) است.


زبان آموزش: فارسی مدت زمان: 27 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

کار با فرم ها و ثبت از طریق فرم در دیتابیس در لاراول 6

در این جلسه به بررسی و آموزش برای ثبت یک مقدار در جدول دیتابیس از فرم Bootstrap استفاده می شود. و همچنین روش مقابله با حملات csrf که یکی از مخرب ترین حملات هکری است، توضیح داده خواهد شد. به عبارتی پس از مشاهده این آموزش شما قادر خواهید بود برای ثبت مقادیر در جداول دیتابیس از فرم های Bootstrap استفاده کرده و با استفاده از روش منحصر به فرد LARAVEL از فرم های خود در مقابل حملات csrf محافظت نموده و با هر گونه درخواست های جعلی مقابله کنید.


زبان آموزش: فارسی مدت زمان: 30 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

آموزش روت مدل بایندینگ Route Model Binding

در این جلسه از آموزش به توضیح و معرفی تزریق model در route یا استفاده از مدل در روت پرداخته شده و طریقه استفاده از model در route کامل توضیح داده شده است.


زبان آموزش: فارسی مدت زمان: 27 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

ویرایش EDIT، حذف DELETE و بروزرسانی UPDATE رکورد در لاراول

در این جلسه آموزش ویرایش Edit، حذف Delete و بروزرسانی Update رکورد در لاراول LARAVEL 6  با استفاده از متد های متد های PUT  یا PATCH قرار داده شده است.


زبان آموزش: فارسی مدت زمان: 27 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

جلسه دوازدهم: سیستم احراز هویت در لاراول 6

آموزش سیستم احراز هویت در لاراول 6 جهت احراز هویت ثبت نام و عضویت ورود و خروج است احراز هویت در لاراول 6 قدرتمند تر از سایر فریم ورک هاست.


زبان آموزش: فارسی مدت زمان: 40 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

رابطه یک به یک در لاراول

 لاراول برای برقرار کردن رابطه بین دو یا چند جدول در دیتابیس از Eloquent ORM استفاده می کند. این فریم ورک محبوب برای ایجاد ارتباط بین مدل های الوکوئنت، روش های کابر پسند بسیاری فراهم نموده است. در این جلسه یکی از این رابطه ها بنام رابطه یک به یک در لاراول با یک مثال عملی، مورد مطالعه قرار می گیرد.


زبان آموزش: فارسی مدت زمان: 37 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

رابطه یک به چند در لاراول

 لاراول برای برقرار کردن رابطه بین دو یا چند جدول در دیتابیس از Eloquent ORM استفاده می کند. این فریم ورک محبوب برای ایجاد ارتباط بین مدل های الوکوئنت، روش های کابر پسند بسیاری فراهم نموده است. در این جلسه یکی از این رابطه ها بنام رابطه یک به چند در لاراول با یک مثال عملی، مورد مطالعه قرار می گیرد.


زبان آموزش: فارسی مدت زمان: 38 دقیقه مدرس: مهندس سالار عباپور  نمایش: دانلود غیر رایگان


برای آموزش این بخش کلیک کنید.

1 دیدگاه برای رابطه یک به یک در لاراول

  1. امین جلیل زاده

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

اطلاعات فروشنده