【发布时间】:2014-12-22 02:56:52
【问题描述】:
我更新了我的实体文件以包含关系映射。
Persist 在更新之前有效,现在无效。
也许这是我忘记做的事情。
命名空间类\classBundle\Entity;
使用 Doctrine\ORM\Mapping 作为 ORM;
/**
* 顾问计划
*
* @ORM\Table()
* @ORM\实体
*/
班级顾问计划
{
/**
*
* @ORM\ManyToOne(targetEntity="plans", inversedBy="adviserPlans")
* @ORM\JoinColumn(name="planid", referencedColumnName="id")
*/
公共$计划;
/**
* @var 整数
*
* @ORM\Column(name="id", type="integer")
* @ORM\ID
* @ORM\GeneratedValue(strategy="AUTO")
*/
公共$id;
/**
* @var 整数
*
* @ORM\Column(name="userid", type="integer")
*
*
*/
公共$用户ID;
/**
* @var 整数
*
* @ORM\Column(name="adviserid", type="integer")
*
*
*/
公共 $adviserid;
/**
* @var 整数
*
* @ORM\Column(name="planid", type="integer")
*
*
*/
公共 $planid;
/**
* @var 字符串
*
* @ORM\Column(name="participantLoginWebsiteAddress", type="string", length=255)
*/
公共 $participantLogin 网站地址;
公共函数 __construct()
{
$class_vars = get_class_vars(get_class($this));
foreach ($class_vars as $key => $value)
{
if ($key != "计划")
$this->$key = "";
}
}
}
Perist 返回错误,说 planid 为空。如果我删除以下内容,它会起作用。
/** * * @ORM\ManyToOne(targetEntity="plans", inversedBy="adviserPlans") * @ORM\JoinColumn(name="planid", referencedColumnName="id") */这是我坚持的代码。
$adviserPlan = 新的顾问计划(); $adviserPlan->planid = $planid; $adviserPlan->userid = $this->userid(); $adviserPlan->adviserid = $session->get("editadviserid"); $em->persist($adviserPlan);我应该填充 plan 字段而不是 planid 字段还是我的实体文件编码错误。
【问题讨论】:
标签: symfony doctrine mapping entity relationship