我正在 symfony2 和原则上制作课程管理系统
我对在学说中使用外键感到困惑。
/实体/用户.php
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*@ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\Lesson", inversedBy("teacher"))
*/
protected $id;
.
.
}
/Entity/Lesson.php
class Lesson
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
*
* @ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\User", inversedBy("id"))
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $teacher;
.
.
}
每节“课程”都有一位在 User.php 中注册的教师。
我该如何为此目的编写注释?
我还计划每节课都有来自/Entity/User 的多名学生。
我该如何为此目的编写注释? (多对多?)
我研究过,但找不到很好的学说注释文献。
这里有一些学说注释的备忘单:link https://blog.elao.com/en/dev/symfony-2-doctrine-2-cheat-sheets/
对于您的问题,您需要在关联的每一侧定义变量。
在Lesson.php中:
/**
* @ORM\OneToOne(
* targetEntity="Acme\UserBundle\Entity\User",
* inversedBy="lessons*removethis : name of the variable in user.php*"
* )
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $teacher;
在 User.php 中:
/**
* @ORM\OneToOne(
* targetEntity="Acme\UserBundle\Entity\Lesson",
* mappedBy="teacher*removethis : name of the variable in lesson.php*"
* )
*/
private $lessons;
是的,ManyToMany 非常适合您正在寻找的目的:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)