اتصال مدل‌ها در لاراول

اتصال مدل‌ها در لاراول؛ آشنایی با Relationship و گرفتن خروجی

یکی از قابلیت‌های خیلی مهم لاراول، تعریف ارتباط بین مدل‌هاست. وقتی پروژه بزرگ‌تر می‌شود، داده‌ها معمولا در چند جدول مختلف ذخیره می‌شوند و ما باید بین آن‌ها ارتباط برقرار کنیم. لاراول این کار را با Eloquent Relationships خیلی تمیز و ساده انجام می‌دهد.

فرض کنیم دو مدل داریم: User و Post

هر کاربر می‌تواند چند پست داشته باشد. این یعنی رابطه one-to-many.

ابتدا رابطه را داخل مدل‌ها تعریف می‌کنیم.

مدل User:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

مدل Post:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

در اینجا:

  • hasMany یعنی یک کاربر چند پست دارد
  • belongsTo یعنی هر پست متعلق به یک کاربر است

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

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

درباره من

مهندس علی آزاد

Software Engineer | Full Stack Developer

لوگو

من یک برنامه‌نویس فول‌استک و طراح وب‌سایت و سامانه‌های تحت وب هستم که در توسعه بک‌اند و فرانت‌اند تجربه و مهارت دارم. تمرکز اصلی من روی Laravel، React، Python و فناوری‌های مدرن وب است و تلاش می‌کنم راهکارهایی حرفه‌ای، بهینه و کاربردی برای پروژه‌های مختلف ارائه دهم.

دنبال کردن

خوشحال می‌شوم من را در شبکه‌های اجتماعی دنبال کنید