php - 具有 php 属性的 JoinColumns/复合键

标签 php doctrine-orm doctrine

如何使用 PHP 属性声明 joinColumns/复合键。未能找到正确的方法,并且没有记录 ( https://www.doctrine-project.org/projects/doctrine-orm/en/2.11/reference/attributes-reference.html )

实体

评论.php

#[ORM\Entity(repositoryClass: CommentRepository::class)]
class Comment
{
    #[ORM\Id]
    #[ORM\Column(type: 'integer')]
    private $id;

    #[ORM\ManyToOne(targetEntity: PullRequest::class, inversedBy: 'comments')]
    #[ORM\JoinColumn(name: 'pull_request_id', referencedColumnName: 'id')]
    #[ORM\JoinColumn(name: 'repo_id', referencedColumnName: 'repo_id')]
    private $pullRequest;
}

PullRequest.php

#[ORM\Entity(repositoryClass: PullRequestRepository::class)]
class PullRequest
{
    #[ORM\Id]
    #[ORM\Column(type: 'integer', unique: false)]
    private $id;

    #[ORM\Id]
    #[ORM\ManyToOne(targetEntity: Repo::class, inversedBy: 'pullRequests')]
    #[ORM\JoinColumn(nullable: false)]
    private $repo;

    #[ORM\OneToMany(mappedBy: 'pullRequest', targetEntity: Comment::class, orphanRemoval: true)]
    private $comments;

}

最佳答案

根据https://github.com/greg0ire/doctrine-orm/commit/18366db5789b03e1d8a34933fbbff97a768a9cfe不再需要“JoinColumns”属性,多个“JoinColumn”属性就足够了。

关于php - 具有 php 属性的 JoinColumns/复合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71798641/

相关文章:

mysql - Doctrine/mysql的图形关系图?

php - 这行代码在 PHP 的线程安全构建中做了什么?

javascript - 如何在我的 php 语句中正确执行此 javascript?

pdo - 如何在 Doctrine 中获取像 PDO::FETCH_COLUMN 这样的值?

Symfony 5 - 制作 :entity in custom folder?

mysql - 具有 SUM 中条件的 DQL

php javascript json 解析转义字符

php - 我正在使用 ffmpeg 将 wmv 转换为 mp4 文件,但它不能在 html5 视频标签上播放

php - Symfony2 - 通知 : Undefined offset: 0 due to a custom Query

php - JMS 序列化程序无法序列化 : cannot access private property