2013-08-19 14 views
10

Jestem pewien, że musi być szybszy sposób, aby wykonać następujące czynności. Nie udało mi się znaleźć niczego, jak zapisać obiekt modalny w postaci laravel jako nowy wiersz bez nadpisywania istniejącego elementu. Zasadniczo, prostszy od mojego istniejącego kodu:Laravel4 duplikat/kopiuj wiersz tabeli

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

Zamiast kopiując wszystko ale id rzędu:

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

Odpowiedz

32

Można spróbować

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

Wystarczy nanosi ten sposób, dzięki! – kilrizzy

+1

Czy można usunąć 1 wartość, np. $ Item-> img –

+4

Możesz użyć: '$ newItem = Item :: find (1) -> replicate(); unset ($ newItem-> img); $ newItem-> save(); ' – groovenectar