我对原则 2 有疑问。我有以下 db 表:因此,Doctrine 生成从站点的桌面设置中检索数据的实体,但我需要从desk_settings 表中检索所有设置并使用desk_id 从desk_settings_values 表中覆盖其值
数据库图像-> https://docs.google.com/file/d/0B7rOFTJGfJwTWEQ3bXZFU1hXZlU/edit?usp=sharing
使用脚本生成的教义实体:
/**
* 桌子
*
* @ORM\Table(name="desk")
* @ORM\实体
*/
课桌
{
/**
* @var 整数
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\ID
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
私人 $id;
/**
* @var 字符串
*
* @ORM\Column(name="code", type="string", length=100, nullable=false)
*/
私人$代码;
/**
* @var 字符串
*
* @ORM\Column(name="description", type="string", length=255, nullable=false)
*/
私人$描述;
/**
* @var \日期时间
*
* @ORM\Column(name="created", type="datetime", nullable=false)
*/
私人$创建;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="PayBox\Entity\DeskSettings", mappedBy="desk")
*/
私人 $deskSettings;
}
使用 Doctrine\ORM\Mapping 作为 ORM;
/**
* 桌面设置
*
* @ORM\Table(name="desk_settings")
* @ORM\实体
*/
课桌设置
{
/**
* @var 整数
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\ID
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
私人 $id;
/**
* @var 字符串
*
* @ORM\Column(name="setting_key", type="string", length=100, nullable=false)
*/
私人 $settingKey;
/**
* @var 字符串
*
* @ORM\Column(name="setting_value", type="string", length=255, nullable=false)
*/
私人 $settingValue;
/**
* @var \日期时间
*
* @ORM\Column(name="created", type="datetime", nullable=false)
*/
私人$创建;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="PayBox\Entity\Desk", inversedBy="deskSettings")
* @ORM\JoinTable(name="desk_settings_values",
* 加入列={
* @ORM\JoinColumn(name="desk_settings_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="desk_id", referencedColumnName="id")
* }
* )
*/
私人 $desk;
}