Is there any way to move a row to another mysql table with Doctrine?
I am searching for the equivalent of the following mysql:
INSERT myTableCopy (
SELECT * FROM myTable WHERE id = 2
)
I expect something like this:
// $first is an object from myTable
$this->getDoctrine()->getRepository('MyBundle:MyTable')->findOneBy(array('id' => 2));
$second = new myTableCopy();
$second = clone $first;
Unfortunately (but logically), the $second entity is of type myTable...
How can I do this?
I know I can use prepare statement, but I want to know if I can do this with one of the Doctrine function.
FYI: I have a huge table (several millions of rows), and I want to move old data to a "backup table" that would not be so used
PS: I know that this thread is proposing the following solution, but I think that there should be a better way with serializer/normalizer...
// now loop over the properties of each post array...
foreach ($post as $property => $value) {
// create a setter
$method = sprintf('set%s', ucwords($property)); // or you can cheat and omit ucwords() because PHP method calls are case insensitive
// use the method as a variable variable to set your value
$post->$method($value);
}