gpt4 book ai didi

php - FOSUserBundle 实体构造

转载 作者:行者123 更新时间:2023-12-04 05:50:55 25 4
gpt4 key购买 nike

我有实体 用户 扩展 FOSUserBundle .

class User extends BaseUser
{
...
protected $ref_id;
/**
* @ORM\Column(type="float", length="11")
...

ref_id 来自 cookies 变量 ref_id .如何将此值传递给实体 用户 每次新用户注册。我是否必须覆盖 注册操作 或在实体 上创建构造函数用户 并以某种方式通过 ref_id 那里 ?

另外,我需要验证(从数据库中检查) ref_id 每次新用户注册时。我怎样才能做到这一点 ?
    class User extends BaseUser
{
...
public function __construct()
{
$em = $this->getDoctrine()->getEntityManager();

这个例子不起作用。

最佳答案

您必须修改 onSuccess RegistrationFormHandler的方法类(class)。检查doc 的覆盖表单处理程序部分.在您覆盖的方法中,您只需添加

$user->setRefId($this->request->cookies->get('ref_id'));

就在调用 parent 的 onSuccess 之前方法。

至于验证,您必须创建自定义验证约束,您必须在其中注入(inject) @request@doctrine.orm.entity_manager服务来获取 cookie 并在数据库中验证它。您可以查看 cookbook entry .

关于php - FOSUserBundle 实体构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com