我有一个系统,采取详细描述项目的表单信息,将其添加到项目表,并且是为了添加一个条目到分配的项目表中以将用户与项目相关联(这一点是允许每个项目有多个用户)。无论如何,我在没有外键的情况下工作,努力添加它们,但最终得到了它们。Symfony2 Doctrine2列被设置为空
不幸的是,这个额外的错误导致了这个错误:SQLSTATE [23000]:完整性约束违规:1048只要有东西被添加到assignedProjects表中,column'projectId'就不能为空'。
所以我的问题是,我错过了我的代码中的东西?
代码到一个新的行添加到assignedProjects:
$assignedProject = new AssignedProjects();
$assignedProject->setProjectId($project->getId());
$assignedProject->setUserId($user[0]['id']);
$em = $this->getDoctrine()->getEntityManager();
$em->persist($assignedProject);
$em->flush();
为assignProjects实体代码: 类AssignedProjects { /** * 整数@var $ ID * * @ORM \ Column(name =“id”,type =“integer”) * @ORM \ Id * @ORM \ GeneratedValue(strategy =“AUTO”) */ private $ id;
/**
* @var integer $projectId
*
* @ORM\Column(name="projectId", type="integer")
*/
private $projectId;
/**
* @ORM\ManyToOne(targetEntity="Projects", inversedBy="assignment")
* @ORM\JoinColumn(name="projectId", referencedColumnName="id")
*/
private $project;
/**
* @var integer $UserId
*
* @ORM\Column(name="userId", type="integer")
*/
private $userId;
/**
* @ORM\ManyToOne(targetEntity="Dev\UserBundle\Entity\User", inversedBy="assignment")
* @ORM\JoinColumn(name="userId", referencedColumnName="id")
*/
private $user;
(其次是常用的getter和setter)
和项目表的实体是:
class Projects
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $projectName
*
* @ORM\Column(name="projectName", type="string", length=255)
*/
private $projectName;
/**
* @ORM\OneToMany(targetEntity="AssignedProjects", mappedBy="project")
*/
protected $assignment;
任何帮助,将不胜感激!
谢谢,非常有帮助!而且我打算添加日期等其他位,但为提示而欢呼! –