我在symfony中创建了2个实体:多对多关系中的用户和角色.这意味着每个用户都可以拥有更多角色,并且可以为许多用户设置角色.
用户类:
/**
* @ORM\Entity
* @ORM\Table(name="JEP_User")
* @ORM\Entity(repositoryClass="Chrchel\JepBundle\Repository\UserRepository")
*/
class User implements AdvancedUserInterface {
/**
* @ORM\Id()
* @ORM\Column(name="id",type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="username",type="string",length=100,unique=true)
*/
private $username;
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users")
*
*/
protected $roles;
//....
}
Run Code Online (Sandbox Code Playgroud)
角色类:
/**
* @ORM\Table(name="JEP_Role")
* @ORM\Entity()
*/
class Role implements RoleInterface {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @ORM\Column(name="name", type="string", length=30) */
protected $name;
/** @ORM\Column(name="role", type="string", length=20, unique=true) */
protected $role;
/** …Run Code Online (Sandbox Code Playgroud) 我正在用Symfony 2编写一个小型电子商店应用程序,我需要一些方法将用户的购物车存储在会话中.我认为使用数据库并不是一个好主意.
该应用程序将使用Product,Category,ShoppingCart等实体,其中Product和Category持久保存到数据库中,用户将在ShoppingCart中选择产品.
我找到了NativeSessionStorage类,它应该将实体保存到会话中.但是在应用程序中没有书面的实现过程.
我是在控制器中还是在分开的类ShoppingCart中使用它?你能给我一个简短的NativeSessionStorage用法例子吗?
编辑: 问题设置不正确:
目标不是将所有产品ID保存到cookie中.目标是仅在服务器端的应用程序内存中保存篮子(填充产品)的引用,并为用户分配适当的篮子.这甚至可以在PHP中执行此操作吗?
编辑2:
使用服务是更好的解决方案吗?
我想检查我的模型中的某些属性是否beforeSave()根据存储在数据库中的数据在方法中更改.
是否有一些最佳实践来检查模型是否已更改?
我的目标是创造历史.如果某些属性发生更改,我会将副本保存到model_history表中.
我试图将我在Symfony 2.0中编写的项目更新为Symfony 2.2.
移动源代码与结束2.2项目config.yml和security.ymlincompatibiliy.
有没有办法如何正确地将Symfony 2.0项目迁移到Symfony 2.2?