小编Sim*_*sne的帖子

Symfony2表单:选择一个实体或添加一个新实体

我有order一个client实体.

我想知道是否可以使用实际的Symfony2表单系统创建一个订单表单,该表单允许:

  1. 从下拉列表中选择多个客户端(混合collectionentity表单类型)
  2. collection如果不在下拉列表中,则动态创建新客户端(类型的默认方式).

我已经看到了通过在同一页面中创建多个表单来实现它的一些方法,但这不是我想要实现它的方式.

有没有更好的方法来做到这一点?

forms symfony

24
推荐指数
2
解决办法
7919
查看次数

使用额外字段将多对多关系渲染到表单中

我想知道创建一个表单来处理与symfony2中的额外字段的多对多关系的最佳方法是什么.

举个例子,假设我想为用户创建一个通知功能.我有UserNotification实体.另外,为了能够在实体之间的多对多关系中添加额外参数,我创建了第三个实体UserNotification.额外参数指示用户是否已读取通知.

* @ORM\Entity() */
class Notification
{
    /** @Id @Column(type="integer") */
    private $id;

    /** @OneToMany(targetEntity="UserNotification", mappedBy="notification") */
    private $usernotifications;

    /** @Column() */
    private $message;

    ...
}

* @ORM\Entity() */
class User
{
    /** @Id @Column(type="integer") */
    private $id;

    /** @OneToMany(targetEntity="UserNotification", mappedBy="user") */
    private $usernotifications;

    /** @Column() */
    private $name;

    ...
}

* @ORM\Entity() */
class UserNotification
{
    /** @ManyToOne(targetEntity="User", inversedBy="usernotifications")
    private $user;

    /** @ManyToOne(targetEntity="Message", inversedBy="usernotifications")
    private $message;

    /** @Column(type="boolean") */
    private $isRead;

    ... …
Run Code Online (Sandbox Code Playgroud)

forms symfony doctrine-orm

9
推荐指数
1
解决办法
3814
查看次数

标签 统计

forms ×2

symfony ×2

doctrine-orm ×1