【发布时间】:2020-08-30 23:16:14
【问题描述】:
结构:
学生:名字、姓氏、出生日期、图片。
类:名称,部分
课程:名称、描述
成绩:学生、课程、班级
所以我正在努力在 symfony 中使用学说 ORM 创建这个数据库,如果有人可以帮助处理实体(尤其是外键),我们将不胜感激。
谢谢。
【问题讨论】:
标签: database symfony doctrine-orm doctrine symfony-4.4
结构:
学生:名字、姓氏、出生日期、图片。
类:名称,部分
课程:名称、描述
成绩:学生、课程、班级
所以我正在努力在 symfony 中使用学说 ORM 创建这个数据库,如果有人可以帮助处理实体(尤其是外键),我们将不胜感激。
谢谢。
【问题讨论】:
标签: database symfony doctrine-orm doctrine symfony-4.4
我建议您使用 maker 组件来创建您的实体 (composer require maker --dev)。另外,Doctrine 与 Symfony 的集成描述为here。
第一
bin/console make:entity Student # then just answer the question
bin/console make:entity ClassRoom # or anything different than "Class" as it looks like the "class" keyword
bin/console make:entity Course
bin/console make:entity Grades
在创建Grades 实体时,为您的三个属性student、course 和classRoom 选择类型ManyToOne(或OneToOne,无法根据您的描述猜测)。
更多关于association mapping的信息在这里。
下一个
然后打开您的实体并增强您的 @Column 和 @ManyToOne 注释。
如果需要,考虑在 Grade 实体上添加一个 @UniqueConstraint 来包装您的三个属性。
考虑在您的三个Grade 属性下添加@JoinColumn 约束。
终于
bin/console make:migration
bin/console doctrine:migrations:migrate
【讨论】: