小编jmo*_*moz的帖子

Symfony2 FOSUserBundle角色实体

我目前正试图找出实现doctrine持久角色实体作为与FOSUserBundle兼容的M2M关系的最佳方法.以前我只使用默认实现的字符串,并使用doctrine数组映射来保持它.

现在我需要将角色作为单独的entites,因为我们想要构建一个管理员后端,其他人可以授予用户角色.

基本上,这是一个痛苦的屁股.FOS接口是为字符串表示而不是Role实体构建的.改变实现,你打破很多东西,即FOS命令来促进用户.并且很难确切地知道哪些接口需要symfony2安全系统继续正常工作.

我可以重写角色管理代码并尽可能多地使用Role实体,例如:

$user->addRole(new Role('ROLE_FOO'));
Run Code Online (Sandbox Code Playgroud)

但这打破了命令和可能的现有代码?

或继续使用:

$user->addRole('ROLE_FOO');
Run Code Online (Sandbox Code Playgroud)

并且结合了角色/实体经理代码addRole()(糟糕的设计).

我注意到这是一个灰色区域(带有FOS的角色实体)并且已经在symfony2板上提到并在这里进行了回合,但没有像样的解决方案.

任何人都有经验或想到一个体面的解决方案?

user-roles symfony doctrine-orm

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

Symfony2表单和集合 - Order,OrderItem实现

因此,我今天花了大约5或6个小时与Symfony2表格进行斗争,并且我希望得到社区其他成员的一些建议.我已经尝试了3种不同的方法来实现我所追求的并且没有成功.我已经阅读了文档,谷歌搜索了所有内容,问了其他人,而且比起初时我只有一点点好转.

我的用例

我正在建立一个可以订购门票的系统.但核心问题是如何设计系统的订单部分.

  • 都有一个名字,并开始和结束日期在何处使用(其他的东西很好,但让保持示例简单.
  • 一个订单可以有多个选定门票和每张机票有一个量.
  • 订单有客户. 这部分很好,工作花花公子!

在阅读并尝试不同的事情后,我收集了代表订单的票和数量,我需要另一个实体OrderTicket对应于来自https://github.com/beberlei/AcmePizzaBundle的OrderItem,而Pizza是我的票.

  • 一个OrderTicket有票务和数量.

在我创建订单的订单页面上,我想要以下内容:

  • 客户详细信息表单 - 姓名,电子邮件,地址. 这部分工作正常.
  • 门票表格.我希望在文本框或字符串中显示故障单名称; 不在选择框中(现在正在发生的事情).我希望在故障单名称旁边指定数量.如果没有设置数量,则表示未选择故障单.
  • 门票应该过滤通过使用自定义库方法上的表单类型与查询生成器关闭,这是其他地方实现(在他们创建在后端管理) -它们可根据今天的日期在哪里.

我的后端

Order/OrderTicket/Ticket设计主要基于https://github.com/beberlei/AcmePizzaBundle

/**
 * @ORM\Entity(repositoryClass="Foo\BackendBundle\Entity\TicketsRepository")
 * @ORM\HasLifecycleCallbacks
 * @ORM\Table(name="tickets")
 */
class Tickets
{
    // id fields and others

    /**
     * @Assert\NotBlank
     * @ORM\Column(type="string", nullable=true)
     */
    protected $name;

    /**
     * @ORM\Column(type="date", name="available_from", nullable=true)
     */    
    protected …
Run Code Online (Sandbox Code Playgroud)

php symfony

5
推荐指数
1
解决办法
1477
查看次数

标签 统计

symfony ×2

doctrine-orm ×1

php ×1

user-roles ×1