为了账号安全,请及时绑定邮箱和手机立即绑定

未找到 Doctrine 注释阅读器类

未找到 Doctrine 注释阅读器类

PHP
qq_遁去的一_1 2021-11-05 15:13:00
我开始在 silex 中使用带有来自文档的简单注释的学说@Entity并且它起作用了。现在我看到 symfony 使用 importuse Doctrine\ORM\Mapping as ORM;和@ORM\Entity. 但是当我添加这个时,学说会抛出一个错误 Class "App\Entity\Author" is not a valid entity or mapped super class.namespace App\Entity;use App\Helpers\Jsonable;use App\Helpers\MassAssignable;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass="App\Repository\AuthorRepository") * @ORM\Table(name="authors") */class Author{    use MassAssignable;    use Jsonable;    /**     * @ORM\Id     * @ORM\GeneratedValue     * @ORM\Column(type="integer")     * @var int     */    protected $id;    /**     * @ORM\Column(type="string")     * @var string     */    protected $name;我的配置没有额外的选项$config = Setup::createAnnotationMetadataConfiguration([    __DIR__.'/../src/Entity/']);$app['db.em'] = EntityManager::create($app['db'], $config);
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

您正在使用SimpleAnnotationReaderwhich 无法从非直接导入的命名空间加载注释。您可以通过false为元数据配置传递第 5 个参数来轻松切换。


public static function createAnnotationMetadataConfiguration(array $paths, $isDevMode = false, $proxyDir = null, Cache $cache = null, $useSimpleAnnotationReader = true)

所以在你的情况下:


$config = Setup::createAnnotationMetadataConfiguration(

    [__DIR__.'/../src/Entity/'],

    false,

    null,

    null,

    false

]);


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信