-
라라벨 기존 모델의 복사본(replicate) 만들기백엔드/laravel 2024. 1. 20. 15:26
replicate 메서드는 복제된 모델의 모든 속성을 가진 새로운 모델 인스턴스를 생성합니다.
먼저, 새로운 게시물을 생성하는 코드를 만들어 봅시다.
$post = Post::create([
'title' => 'Replicate',
'slug' => 'replicate',
'excerpt' => 'This tutorial is about replicating content',
'description' => 'This tutorial is about replicating',
]);이제 모델을 복제하려면 새로운 게시물에서 replicate 메서드를 호출하면 됩니다.
$replicatedPost = $post->replicate();
title 및 slug는 고유해야 하기 때문에 오류가 발생합니다.
이를 방지하려면 fill 메서드를 변경하여 중복되지 않아야 하는 키-값 쌍을 전달할 수 있습니다.
$replicatedPost = $post->replicate()->fill([
'title' => 'Replicated',
'slug' => 'replicated',
]);// 복제된 모델을 데이터베이스에 저장
$replicatedPost->save();'백엔드 > laravel' 카테고리의 다른 글
라라벨 local scopes (0) 2024.01.20 라라벨 global scopes (2) 2024.01.20 라라벨 소프트 삭제(soft deleting)된 레코드를 주기적으로 삭제하기 (0) 2024.01.20 라라벨 소프트 삭제(Soft Deleting) (0) 2024.01.20 라라벨 delete, truncate, destroy 메서드 (0) 2024.01.19