FOSUserBundle 在 EasyAdminBundle 中管理((“用户”实体必须使用“类”选项定义其关联的 Doctrine 实体类))Symfony
Posted
技术标签:
【中文标题】FOSUserBundle 在 EasyAdminBundle 中管理((“用户”实体必须使用“类”选项定义其关联的 Doctrine 实体类))Symfony【英文标题】:FOSUserBundle managing In EasyAdminBundle(( The "User" entity must define its associated Doctrine entity class using the "class" option))Symfony 【发布时间】:2018-08-09 05:27:39 【问题描述】:我正在使用带有 FOSUserBundle~2.0 和 EasyAdminBundle^1.17 的 Symfony 3.4。一切正常。我可以登录到系统并创建用户((当然带有推荐行))我使用这个toutaril 但是当我想在 EasyAdminBundle 中管理时,我遇到了这个错误
The "User" entity must define its associated Doctrine entity class using the "class" option.
这是我的 config.yml
..
.
.
entities:
User:
label: 'user'
list:
actions:
- name: 'delete', label: 'del'
- name: 'edit' , lable: 'edite'
title: 'user'
fields:
- username
- email
- enabled
- lastLogin
class: AppBundle\Entity\User
form:
fields:
- username
- email
- enabled
- lastLogin
# if administrators are allowed to edit users' passwords and roles, add this:
- property: 'plainPassword', type: 'text', type_options: required: false
- property: 'roles', type: 'choice', type_options: multiple: true, choices: 'ROLE_USER': 'ROLE_USER', 'ROLE_ADMIN': 'ROLE_ADMIN'
.
.
.
这是用户实体
<?php
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
parent::__construct();
// your own logic
【问题讨论】:
应该是你的YAML文件的代码缩进问题。 【参考方案1】:用户实体的所有选项都应该嵌套在用户下
entities:
User:
label: 'user'
list:
actions:
- name: 'delete', label: 'del'
- name: 'edit' , lable: 'edite'
title: 'user'
fields:
- username
- email
- enabled
- lastLogin
class: AppBundle\Entity\User
form:
fields:
- username
- email
- enabled
- lastLogin
# if administrators are allowed to edit users' passwords and roles, add this:
- property: 'plainPassword', type: 'text', type_options: required: false
- property: 'roles', type: 'choice', type_options: multiple: true, choices: 'ROLE_USER': 'ROLE_USER', 'ROLE_ADMIN': 'ROLE_ADMIN'
【讨论】:
以上是关于FOSUserBundle 在 EasyAdminBundle 中管理((“用户”实体必须使用“类”选项定义其关联的 Doctrine 实体类))Symfony的主要内容,如果未能解决你的问题,请参考以下文章
EasyAdmin 3翻译错误,“翻译”字段的Doctrine类型为“4”,EasyAdmin尚不支持
如何在 Symfony EasyAdmin 3 中创建密码输入类型
EasyAdmin:更改树枝中的 formTypeOptions 属性字段时出错
EasyAdmin 3:限制登录用户的数据仍然在表单下拉列表中显示其他数据