gpt4 book ai didi

php - Doctrine 不映射来自 FOSUserBundle User 类的字段

转载 作者:可可西里 更新时间:2023-11-01 13:33:56 25 4
gpt4 key购买 nike

我在运行 PHP 5.3.13 的 Windows 服务器上使用 Symfony 2.1 RC1FOSUserbundle

我关注了the instructions here但是 Doctrine 不会在数据库中为从基 FOS User 类继承的属性创建字段(只有我的类中的字段)。

尝试使用 FOS 登录表单登录会产生错误:

Unrecognized field: usernameCanonical

我有以下 Doctrine 配置:

# Doctrine Configuration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8

orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true

FOSUserBundle 配置如下:

fos_user:
db_driver: orm
firewall_name: main
user_class: SP\PickList\UserBundle\Entity\User

我的用户实体:

namespace SP\PickList\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Document\User as BaseUser;

/**
* SP\PickList\UserBundle\Entity\User
*
* @ORM\Table(name="fos_user")
* @ORM\Entity
*/
class User extends BaseUser
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;


/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}

感谢您的帮助,

詹姆斯·类奇

最佳答案

看起来你混合了 ORM 和 ODM 的指令,如果你根据你的配置使用 Doctrine ORM,你的用户类必须扩展 FOS\UserBundle\Entity\User,尝试改变 使用语句作为

use FOS\UserBundle\Entity\User as BaseUser;

关于php - Doctrine 不映射来自 FOSUserBundle User 类的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058785/

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