我想使用uniqueConstraint用户和课程。
/**
* @ORM\Table(name="ReviewSchool",uniqueConstraints={
* @ORM\UniqueConstraint(name="lessonid", columns={"lesson", "user"})})
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*/
class ReviewSchool
{
* @ORM\ManyToOne(targetEntity="Lesson",inversedBy="reviewschool")
* @ORM\JoinColumn(name="review_lesson", referencedColumnName="id",onDelete="cascade")
*/
private $lesson;
/**
*
* @ORM\ManyToOne(targetEntity="User",inversedBy="reviewschool")
* @ORM\JoinColumn(name="review_user",referencedColumnName="id",onDelete="cascade")
*/
private $user;
然而它显示
[Doctrine\DBAL\Schema\SchemaException]
There is no column with name 'lesson' on table 'ReviewSchool'.
当然,我有一堂课#39;专栏,我该如何解决这个问题? 我误会了什么?
答案 0 :(得分:1)
它允许提示SchemaTool在指定的表列上生成数据库唯一约束。它只在SchemaTool模式生成上下文中有意义。
所以你必须使用列名。在你的情况下:
@ORM\UniqueConstraint(columns={"review_lesson", "review_user"})}