在我的遺留代碼中,我有這個類。 。 。教義是否支持複合實體?
class Motor
{
//db table motor_part_sizes
//physical dimensions relating to various screw sizes
private $a;
private $b;
private $c;
//db table motor_part_length
//also dimensions relating to length
private $adapter_length;
private $motor_length;
}
遺留代碼中的上述對象是從兩個表中提取的。
將表格實體轉換爲Doctrine時,我創建了兩個實體。現在我的問題是,現有的遺留代碼期望上述對象包含來自兩個實體的數據。
我當然可以製作一個加載上述對象的原始SQL查詢,它是如何在代碼中完成的,但是當涉及到Doctrine時,我該如何去創建這樣一個組合實體而無需進行轉義從現在開始,很多現有的遺留代碼都去了嗎?
有沒有不同的方法來解決這個問題? 我目前做的是分別加載兩個Doctrine實體,然後使用工廠方法來填充上面的現有對象。基本上我做
$motor->setDataFromTable1($data1);
$motor->setDataFromTable2($data2);
所以我通過OOP解決了這個問題。對更多以學說爲中心的方法感到好奇。