我目前正试图找出实现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板上提到并在这里进行了回合,但没有像样的解决方案.
任何人都有经验或想到一个体面的解决方案?
因此,我今天花了大约5或6个小时与Symfony2表格进行斗争,并且我希望得到社区其他成员的一些建议.我已经尝试了3种不同的方法来实现我所追求的并且没有成功.我已经阅读了文档,谷歌搜索了所有内容,问了其他人,而且比起初时我只有一点点好转.
我正在建立一个可以订购门票的系统.但核心问题是如何设计系统的订单部分.
在阅读并尝试不同的事情后,我收集了代表订单的票和数量,我需要另一个实体OrderTicket对应于来自https://github.com/beberlei/AcmePizzaBundle的OrderItem,而Pizza是我的票.
在我创建订单的订单页面上,我想要以下内容:
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)