【发布时间】:2013-07-23 23:46:01
【问题描述】:
我在坚持与教义的关系时遇到问题。
这是我正在做的过程:
- 创建 Material 对象并填充数据
- 创建PossibleMaterialConfiguration 对象并填充数据
-
将PossibleMaterialConfiguration 对象分配给材质对象
$material->addPossibleMaterialConfiguration($possibleMaterialConfiguration);
结果: 可能MaterialConfiguration.material_id 为空!
但是当我反其道而行之并将材质对象分配给 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;
PossibleMaterialConfiguration.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;
【问题讨论】: