3
有沒有什麼辦法可以將行移動到另一個使用Doctrine的mysql表?symfony doctrine將實體對象移動到另一個實體類型
我正在尋找以下的mysql相當於:
INSERT myTableCopy (
SELECT * FROM myTable WHERE id = 2
)
我希望這樣的事情:
// $first is an object from myTable
$this->getDoctrine()->getRepository('MyBundle:MyTable')->findOneBy(array('id' => 2));
$second = new myTableCopy();
$second = clone $first;
不幸的是(但邏輯上),在$第二實體類型爲myTable的。 ..
我該怎麼做?
我知道我可以使用準備語句,但我想知道是否可以使用Doctrine函數之一來完成此操作。
FYI:我有一個巨大的表(幾百萬行),我想舊數據移動到不會這麼使用
PS一個「備份表」:我知道this thread提議以下解決方案,但我認爲應該有與串行器/正規化一個更好的辦法...
// 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);
}
改變這種'> getRepository('MyBundle似乎不守恆: myTableCopy')'。這應該是實體名稱 –
@Abdulla,如問題中所述,我想將MyTable中的一行復制/移動到MyTableCopy。我將如何能夠選擇我想從MyTableCopy複製的對象? – Bast
只需用setter或構造函數填充您的數據即可。 – chapay