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.