簡單介紹 Laravel 的 replicate helper
如果需要從資料庫中複製一筆資料來產生新資料的話,Laravel 的 ORM 提供一個 replicate
方法。
在複製完之後,你還可以對資料內容進行調整並儲存,生成一筆新的資料。下面是範例,首先我們先取得 id 為 1 的資料。
$post = Post::find(1);
然後使用 replicate
複製一筆一模一樣的資料。
$newPost = $post->replicate();
如果你是使用 Laravel tinker 的話,可以看到 $newPost
的資料沒有 id 欄位,但是其他資料都會與 id 為 1 的資料相同。
可以任意修改這筆新資料的內容。
$newPost->title = "It's copied form id 1";
$newPost->catetory_id = 2;
$newPost->excerpt = "It's copied form id 1";
$newPost->created_at = Carbon::now();
最後儲存這筆新的資料。
$newPost->save();