1
我有一個原則2. 問題,我有以下數據庫表: 所以,學說產生它retrive從現場的辦公桌設置數據實體,但我需要,要檢索desk_settings表中的所有設置和使用desk_id學說2多對多與翻譯
DB圖像從desk_settings_values表覆蓋其值 - >https://docs.google.com/file/d/0B7rOFTJGfJwTWEQ3bXZFU1hXZlU/edit?usp=sharing
學說實體將其生成與腳本:
/** * Desk * * @ORM\Table(name="desk") * @ORM\Entity */ class Desk { /** * @var integer * * @ORM\Column(name="id", type="integer", nullable=false) * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string * * @ORM\Column(name="code", type="string", length=100, nullable=false) */ private $code; /** * @var string * * @ORM\Column(name="description", type="string", length=255, nullable=false) */ private $description; /** * @var \DateTime * * @ORM\Column(name="created", type="datetime", nullable=false) */ private $created; /** * @var \Doctrine\Common\Collections\Collection * * @ORM\ManyToMany(targetEntity="PayBox\Entity\DeskSettings", mappedBy="desk") */ private $deskSettings; }
use Doctrine\ORM\Mapping as ORM; /** * DeskSettings * * @ORM\Table(name="desk_settings") * @ORM\Entity */ class DeskSettings { /** * @var integer * * @ORM\Column(name="id", type="integer", nullable=false) * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string * * @ORM\Column(name="setting_key", type="string", length=100, nullable=false) */ private $settingKey; /** * @var string * * @ORM\Column(name="setting_value", type="string", length=255, nullable=false) */ private $settingValue; /** * @var \DateTime * * @ORM\Column(name="created", type="datetime", nullable=false) */ private $created; /** * @var \Doctrine\Common\Collections\Collection * * @ORM\ManyToMany(targetEntity="PayBox\Entity\Desk", inversedBy="deskSettings") * @ORM\JoinTable(name="desk_settings_values", * joinColumns={ * @ORM\JoinColumn(name="desk_settings_id", referencedColumnName="id") * }, * inverseJoinColumns={ * @ORM\JoinColumn(name="desk_id", referencedColumnName="id") * } *) */ private $desk; }
可以刪除SQL架構定義和吸氣劑和setter和全面,但沒有方法(的getter和setter方法)發表您的3個實體? – Flip
完成。 學說僅產生2的實體,其跳躍DeskSettingsValues實體 – Dmitry
「使用desk_id從desk_settings_values表覆蓋其值」。爲什麼desk_settings_values與桌子有關係?這似乎是架構更明顯的選擇:許多Desk_settings的桌子,Desk_settings_values的Desk_setting。順便說一下你的數據庫模式的圖片也會很好。 – Flip