Posted in

Duplicar columnas de la base de datos en Laravel

Para duplicar rows en una misma tabla podemos usar eloquent de la siguiente forma:

$origen = Origen::find(1);
$copia = $origen->replicate();
$copia->save();

Para duplicar rows de una tabla a otra distinta:

$origen = Origen::find(1);
$copia = $origen->replicate();
// Podemos añadir campos extra
$copia->campoxtra = 'valor';
$data = json_decode($copia, true);
ModeloCopia::create($data);

Se pueden no incluir algunos campos a la hora de copiar, esta opción es útil para la fecha del created_at por ejemplo, para hacerlo le pasamos un array con los nombres de los campos de la siguiente forma:

->replicate(array('created_at'))

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.