我在坚持与教义的关系时遇到了问题。
这是我正在做的过程:
- 创建材质对象并填充数据
- 创建 PossibleMaterialConfiguration 对象并填充数据
将 PossibleMaterialConfiguration 对象分配给 Material 对象
$material->addPossibleMaterialConfiguration($possibleMaterialConfiguration);
结果:PossibleMaterialConfiguration.material_id 为空!
但是,当我反过来将 Material Object 分配给 PossibleMaterialConfiguration 时,它确实有效!
我快疯了!这到底是怎么回事?提前致谢。
我的两个实体:
材料.php
/**
* Material
*
* @ORM\Table()
* @ORM\Entity
*/
class Material
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="PossibleMaterialConfiguration", mappedBy="material", cascade={"persist"})
*/
private $possibleMaterialConfigurations;
可能的材料配置.php
/**
* PossibleMaterialConfiguration
*
* @ORM\Table()
* @ORM\Entity
*/
class PossibleMaterialConfiguration
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Material", inversedBy="possibleMaterialConfigurations")
* @ORM\JoinColumn(name="material_id", referencedColumnName="id")
*/
private $material;
/**
* @var float
*
* @ORM\Column(name="thickness", type="decimal")
*/
private $thickness;
/**
* @var float
*
* @ORM\Column(name="lengthMin", type="decimal")
*/
private $lengthMin;
/**
* @var float
*
* @ORM\Column(name="lengthMax", type="decimal")
*/
private $lengthMax;
/**
* @var float
*
* @ORM\Column(name="widthMin", type="decimal")
*/
private $widthMin;
/**
* @var float
*
* @ORM\Column(name="widthMax", type="decimal")
*/
private $widthMax;