如何在 list/search 视图 EasyAdminBundle 2x 中显示 OneToMany 关系?

How to display OneToMany relationship in list/search view EasyAdminBundle 2x?

我使用 EasyAdminBundle 2x 和 Symfony 4.4。我有两个实体:

UserCase实体:

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\MyReports", mappedBy="userCase")
     */
    protected $myReports;

MyReports实体:

   /**
     * @ORM\ManyToOne(targetEntity="App\ORM\Entity\UserCase", inversedBy="myReports", cascade={"persist"})
     * @ORM\JoinColumn(name="user_case", referencedColumnName="id", onDelete="CASCADE")
     * @Serializer\Exclude()
     */
    protected $userCase;

    /**
     * @var DateTime
     *
     * @ORM\Column(name="verified_date", type="datetime", nullable = true)
     */
    protected $verifiedDate;

在 UserCase 的列表视图中,我想显示 最新的 MyReports 的 verifiedDate 与 UserCase 关系。类似的东西:

easy_admin:
    entities:
        UserCase:
            class: App\ORM\Entity\UserCase
            list:
                fields:
                    - { property: 'myReports.last.verifiedDate'}
                    

我该怎么做?

请使用EasyAdmin Virtual Properties:

  • verifiedDate 属性 添加到 easy_admin 配置文件(而不是 'myReports.last.verifiedDate');
  • UseCase 实体添加新的 public 方法:getVerifiedDate 使用您选择具有正确日期的最后一条记录的逻辑;

另外:我建议将额外的 属性 添加到 UserCase 例如verifiedDate 将更新而不是获取网格中每一行的最后一条记录。