簡單介紹 Laravel 的 replicate helper

程式技術
sharkHead

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

參考資料

sharkHead
written by
sharkHead

後端打工仔,在下班後喜歡研究各種不同的技術。稍微擅長 PHP,並偶爾涉獵前端開發。個性就像動態語言般隨興,但渴望做事能像囉嗦的靜態語言那樣嚴謹。

0 則留言