簡單介紹 Laravel 的 replicate helper

sharkHead 程式技術 1個月前 • 0

如果需要從資料庫中複製一筆資料來產生新資料的話,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->created_at = Carbon::now();

最後儲存這筆新的資料

$newPost->save();

 

參考資料
Duplicate or Clone a database record with Laravel


Laravel 與 Python 菜雞工程師
喜愛研究程式相關技術
正在學習 TypeScript 與 Vue.js