2013-08-19 130 views
10

我敢肯定,必須有做到以下幾點更快的方法。我無法找到任何有關如何將laravel模態對象保存爲新行而不覆蓋現有項目的任何信息。從本質上講,我現有的代碼更簡單:Laravel4複製/複製錶行

$oldItem = Item::find(1); 
$newItem = new Item; 
$newItem->key = $oldItem ->key; 
$newItem->name = $oldItem ->name; 
$newItem->path = $oldItem ->path; 
$newItem->save(); 

相反,複製一切,但該行的ID:

$oldItem = Item::find(1); 
$newItem = $oldItem; 
unset($newItem->id); 
$newItem->save(); 

回答

32

您可以嘗試

$newItem = Item::find(1)->replicate()->save(); 
+0

就看準了這一方法,謝謝! – kilrizzy

+1

是否有可能取消設置像$本期特價貨品值1> IMG –

+4

您可以使用: '$的newitem =項目::發現(1) - >複製();未設置($ newItem-> IMG); $ newItem-> save();' – groovenectar