我有 2 张桌子
- 用户
- 留言
和表的结构:
用户:
留言:
现在看到用户表中有许多用户,他们的消息存储在消息表中,由 标识fk_user_Id
。
如何在这两个表之间建立一对多关系或使用Doctrine /Annotations 创建此 SQL 模式?
我有 2 张桌子
和表的结构:
用户:
留言:
现在看到用户表中有许多用户,他们的消息存储在消息表中,由 标识fk_user_Id
。
如何在这两个表之间建立一对多关系或使用Doctrine /Annotations 创建此 SQL 模式?
这是一种常见情况,我认为如果您搜索过,您可以轻松找到此类示例。
你可以参考这个例子
你的两个实体文件看起来像User.php
这样Message.php
/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $username;
/**
* @ORM\OneToMany(targetEntity="Message", mappedBy="user")
*/
protected $messages;
}
消息实体将如下所示
/**
* @ORM\Entity
* @ORM\Table(name="messages")
*/
class Message
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $messageDescription;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="messages")
* @ORM\JoinColumn(name="fk_user_id", referencedColumnName="id")
*/
protected $user;
}