我想让uniqueConstraint成为用户和课程。
/**
* @ORMTable(name="ReviewSchool",uniqueConstraints={
* @ORMUniqueConstraint(name="lessonid", columns={"lesson", "user"})})
* @ORMEntity
* @ORMHasLifecycleCallbacks
*/
class ReviewSchool
{
* @ORMManyToOne(targetEntity="Lesson",inversedBy="reviewschool")
* @ORMJoinColumn(name="review_lesson", referencedColumnName="id",onDelete="cascade")
*/
private $lesson;
/**
*
* @ORMManyToOne(targetEntity="User",inversedBy="reviewschool")
* @ORMJoinColumn(name="review_user",referencedColumnName="id",onDelete="cascade")
*/
private $user;
然而它显示
[DoctrineDBALSchemaSchemaException]
There is no column with name 'lesson' on table 'ReviewSchool'.
当然,我有"课程"专栏,我该如何解决这个问题?我误会了什么??
它允许提示 SchemaTool 在指定的表列上生成数据库唯一约束。它仅在架构工具架构生成上下文中有意义。
因此,您必须使用列名。在您的情况下:
@ORMUniqueConstraint(columns={"review_lesson", "review_user"})}