رابطه یک به چند در لاراول
در این آموزش از مباحث صفر تا صد لارول به بحث رابطه یک به چند در لاراول پرداخته می شود. لاراول به عنوان محبوب ترین فریم ورک زبان PHP، برای ایجاد ارتباط بین دو جدول از Eloquent ORM استفاده می کند. این قابلیت و سهولت در ایجاد رابطه، یکی دیگر از هزاران مزایای لاراول نسبت به سایر رقباست. در این جلسه یکی از این روابط حیاتی و بسیار پر کاربرد این فریم ورک که به رابطه One To Many مشهور است همراه با یک مثال عملی، کامل مورد بحث و مطالعه قرار خواهد گرفت.
رابطه یک به چند در لاراول
رابطه یک به چند زمانی تعریف می شود که یک مقدار از یک مدل Model دارای چند مقدار از مدل های دیگر است. به طور مثال در یک سایت خبری، هر پست یا خبر، چندین و چندین comment یا دیدگاه دارد و در عین حال دیدگاه ، فقط متعلق به یک خبر است.
پیاده سازی رابطه یک به چند
اگر جدول posts یا مطالب به این صورت باشد :
1 2 | $table->bigIncrements('id'); $table->string('title'); |
جدول comments یا دیدگاه ها نیز باید اینگونه باشد :
1 2 3 4 5 6 | $table->bigIncrements('id'); $table->string('body'); $table->unsignedBigInteger('post_id')->index(); $table->foreign(' post _id')->references('id')->on('posts') ->onDelete('cascade')->onUpdate('cascade'); |
در سطر سوم از دستورات بالا، به عبارت post_id کلید خارجی یا foreign key می گویند. مقدار این عبارت برابر خواهد بود با id مطلب یا post مربوطه. با استفاده از مقدار کلید خارجی مشخص می شود که یک دیدگاه یا کامنت متعلق به کدام پست است. در آموزش قبلی مفصل درمورد این کلید بحث شده است.
در مدل Post :
1 2 3 4 | public function comments() { return $this->hasMany('App\Comment); } |
در مدل Comment :
1 2 3 4 | public function post() { return $this->belongsTo('App\Post'); } |
بعد از انجام مراحل بالا کافیست جدول را نهایی کنیم :
php artisan migrate
فراخوانی رابطه های یک post یا comment
حال برای فراخوانی کامنت ها یا دیدگاه های یک پست یا مطلب می توانیم دستور زیر را بکار ببریم :
1 | $comments = Post::first()->comments ; |
و یا :
1 | $comments = Post::find(3)->comments ; |
و همچنین برای فراخوانی مطلب مربوط به یک دیدگاه :
1 | return Comment::first()->post; |
و یا :
1 2 | $comment = Comment::find(5); return $comment ->post; |
نکته اول
دقت کنید که در مدل Post نام متد را comments به صورت اسم جمع دادیم، زیرا هر پست یا مطلب می تواند بیش از یک دیدگاه یا کامنت داشته باشد.
نکته دوم
کلید خارجی یا foreign key را می توانید چیزی به جز post_id نیز قرار دهید اما باید در متد comments() در مدل Post و نیز در متدpost() در مدل Comment به این مطلب اشاره کنید. فرض کنید ما از عبارت relation_id استفاده کرده ایم :
در Post.php
1 2 3 4 | public function comments() { return $this->hasMany('App\Comment ', 'relation_id'); } |
و در Comment.php :
1 2 3 4 | public function post() { return $this->belongsTo('App\Post', ' relation_id'); } |
مشاهده رابطه در phpMyAdmin
اگر در phpMyAdmin لوکال هاست رفته و سربرگ Designer را باز کنید با شکل زیر برخورد می کنید که خود نشانگر ایجاد ارتباط بین دو جدول است
برای مشاهده جلسه پانزدهم (بزودی منتشر می شود) کلیک کنید.
مشخصات فیلم آموزشی
نام اثر : فیلم آموزش صفر تا صد لاراول – جلسه چهاردهم: رابطه یک به چند در لاراول
مدرس : مهندس سالار عباپور
مدت زمان : 38 دقیقه
زبان آموزش : فارسی
حجم فایل : یک فایل با حجم 87 مگا بایت
فرمت ویدئو : MP4 با کیفیت بالا
پیش نمایش
درباره محصول
فیلم آموزش صفر تا صد لاراول – جلسه چهاردهم: رابطه یک به چند در لاراول محصولی است که در این پست به آن پرداخته شده است. در این آموزش به توضیح و معرفی رابطه ها در لاراول پرداخته شده است است. این محصول بصورت کامل توسط گروه پشتیبانی پی استور تست و بازبینی شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد.
سرفصلهای دوره برنامهنویسی وب با زبان 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 دقیقه مدرس: مهندس سالار عباپور نمایش: دانلود غیر رایگان
امین جلیل زاده –
نظرات و پیشنهادات خود را با ما در میان بگذارید.