Sobes.tech
Back to questions
Junior — Middle
89

Можешь перечислить основные типы связей, реализуемых в Eloquent ORM?

Answer from AI

sobes.tech AI

В Eloquent ORM (Laravel) реализованы основные типы связей между моделями:

  • Один к одному (One-to-One): каждая запись связана с одной записью другой таблицы.

    public function userProfile() {
        return $this->hasOne(UserProfile::class);
    }
    
  • Один ко многим (One-to-Many): одна запись связана со многими записями другой таблицы.

    public function posts() {
        return $this->hasMany(Post::class);
    }
    
  • Многие к одному (Inverse One-to-Many): обратная связь к одному.

    public function user() {
        return $this->belongsTo(User::class);
    }
    
  • Многие ко многим (Many-to-Many): записи связаны через промежуточную таблицу.

    public function roles() {
        return $this->belongsToMany(Role::class);
    }
    
  • Полиморфные связи (Polymorphic Relations): связь, где модель может принадлежать к нескольким другим моделям.

    public function comments() {
        return $this->morphMany(Comment::class, 'commentable');
    }
    

Эти типы связей позволяют удобно работать с реляционными данными в Laravel.