В Laravel отношение hasManyиспользуется для определения отношения «один ко многим» между двумя моделями. Он позволяет указать, что с моделью связано несколько экземпляров другой модели. Вот пример и некоторые часто используемые методы:
-
Определить связь в модели:
class User extends Model { public function posts() { return $this->hasMany(Post::class); } } -
Получить все связанные записи:
$user = User::find(1); $posts = $user->posts; -
Получить определенную связанную запись:
$user = User::find(1); $post = $user->posts()->find(2); -
Создайте новую связанную запись:
$user = User::find(1); $post = new Post(['title' => 'New Post', 'content' => 'Lorem ipsum']); $user->posts()->save($post); -
Создайте новую связанную запись с дополнительными данными:
$user = User::find(1); $post = $user->posts()->create(['title' => 'New Post', 'content' => 'Lorem ipsum']); -
Обновить связанную запись:
$user = User::find(1); $post = $user->posts()->find(2); $post->title = 'Updated Post'; $post->save(); -
Удалить связанную запись:
$user = User::find(1); $user->posts()->find(2)->delete();