【问题标题】:Symfony EasyAdmin Bundle one to manySymfony EasyAdmin 捆绑一对多
【发布时间】:2016-04-07 08:39:49
【问题描述】:

在 symfony2 中的 EasyAdmin 包中是否有一对多的关系?

到目前为止,我让我的用户工作,但不是其他具有一对多关系的实体。

我有 MySQL 数据库。

【问题讨论】:

    标签: symfony doctrine-orm bundle symfony2-easyadmin


    【解决方案1】:

    EasyAdminBundle 支持各种实体关联。

    没有关于实体关联的文档,因为它不是 EasyAdminBundle 的一部分,而是 Doctrine。例如,这是一个 OneToMany 关联。

    /**
     * 
     * @var ArrayCollection
     * @ORM\OneToMany(targetEntity="DocumentBundle\Entity\Document", mappedBy="course")
     * 
     */
    private $documents;
    
    public function __construct()
    {
        $this->documents = new \Doctrine\Common\Collections\ArrayCollection();
    }
    

    这里是联想的另一边

    /**
     * Many-to-one relationship between documents and course
     *
     * @var ArrayCollection
     * @ORM\ManyToOne(targetEntity="CourseBundle\Entity\Course",inversedBy="documents")
     * @ORM\JoinColumn(name="course_id", referencedColumnName="id")
     */
    private $course;
    

    配置简单如下:

    easy_admin:
        site_name: 'Learn-In Admin'
        entities:
            Courses:
                class: CourseBundle\Entity\Course
                new:
                   fields: ['name','code'] 
            Documents:
                class: DocumentBundle\Entity\Document
    

    您可以在 Doctrine 文档中找到有关 Association Mapping 的所有示例。

    【讨论】:

    • 你能用一些例子告诉我如何做到这一点吗?我在文档中找不到任何关于此的内容(或者我错过了它:/)
    • 非常感谢,我希望这能解决我的问题。明天早上去看看:)
    • 现在似乎一切正常,除了我必须从其他实体(一对多)转换为字符串 ID。公共函数 __toString() { return (string) $this->id;现在它只显示 ID,我无法删除或编辑这些值..
    • 你想在 __toString() 方法中显示什么?您可以显示任何属性,而不仅仅是实体的 id。
    • 好吧,问题是我有两个一对多的关系,一个存储 id,另一个存储类型。 imgur.com/FOc9FKM我想显示类型,有没有办法实现?
    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2020-12-04
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多