2013-08-19 14 views
10

Ich bin mir sicher, dass es einen schnelleren Weg gibt, um folgendes zu tun. Ich konnte nichts darüber finden, wie man ein modales Laravel-Objekt als neue Zeile speichern kann, ohne das vorhandene Objekt zu überschreiben. Im Grunde ein einfacher meiner vorhandenen Code:Laravel4 Duplikat/Kopie Tabellenzeile

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

Stattdessen kopieren alles, aber die ID der Reihe:

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

Antwort

32

können Sie versuchen,

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

Genau diese Methode entdeckt, danke! – kilrizzy

+1

Ist es möglich, 1 Wert wie $ item-> img –

+4

zu löschen? Sie können verwenden: '$ newItem = Item :: find (1) -> replicate(); nicht gesetzt ($ newItem-> img); $ newItem-> save(); ' – groovenectar