2013-08-19 13 views
10

Sono sicuro che ci deve essere un modo più rapido per fare quanto segue. Non sono stato in grado di trovare nulla su come salvare un oggetto modale laravel come una nuova riga senza sovrascrivere l'elemento esistente. In sostanza, una più semplice del mio codice esistente:Laravel4 duplicato/copia tabella riga

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

Invece, copiare tutto, ma l'id della riga:

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

risposta

32

si può provare

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

Proprio notato questo metodo, grazie! – kilrizzy

+1

È possibile disinserire 1 valore come $ item-> img –

+4

È possibile utilizzare: '$ newItem = Oggetto :: find (1) -> replicate(); unset ($ newItem-> img); $ newItem-> save(); ' – groovenectar