首页 > 解决方案 > Symfony 3.4.11 学说注意:未初始化的字符串偏移量:0

问题描述

我正在使用 Symfony 并升级到 3.4.11。

但我有一个大问题。当我运行命令时:

php bin/console doctrine:schema:update  --dump-sql

在终端我有下一个错误:

In ClassMetadataInfo.php line 1400:

  Notice: Uninitialized string offset: 0  

真的,我搜索并阅读了文档,但找不到错误。

非常感谢

更新

$ php bin/console doc:sch:va  -vvv

Mapping
-------


In ClassMetadataInfo.php line 1400:

  [Symfony\Component\Debug\Exception\ContextErrorException]  
  Notice: Uninitialized string offset: 0                     


Exception trace:
 Doctrine\ORM\Mapping\ClassMetadataInfo->_validateAndCompleteFieldMapping() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php:2355

 Doctrine\ORM\Mapping\ClassMetadataInfo->mapField() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php:333

 Doctrine\ORM\Mapping\Driver\AnnotationDriver->loadMetadataForClass() at /home/devel/tests4/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php:102

 Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain->loadMetadataForClass() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:151

 Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata() at /home/devel/tests4/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:333

 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78

 Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata() at /home/devel/tests4/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:217

 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() at /home/devel/tests4/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:115

 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/SchemaValidator.php:68

 Doctrine\ORM\Tools\SchemaValidator->validateMapping() at /home/devel/tests4/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Console/Command/ValidateSchemaCommand.php:69

 Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand->execute() at /home/devel/tests4/vendor/doctrine/doctrine-bundle/Command/Proxy/ValidateSchemaCommand.php:34

 Doctrine\Bundle\DoctrineBundle\Command\Proxy\ValidateSchemaCommand->execute() at /home/devel/tests4/vendor/symfony/console/Command/Command.php:251

 Symfony\Component\Console\Command\Command->run() at /home/devel/tests4/vendor/symfony/console/Application.php:964

 Symfony\Component\Console\Application->doRunCommand() at /home/devel/tests4/vendor/symfony/framework-bundle/Console/Application.php:86

 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /home/devel/tests4/vendor/symfony/console/Application.php:248

 Symfony\Component\Console\Application->doRun() at /home/devel/tests4/vendor/symfony/framework-bundle/Console/Application.php:74

 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/devel/tests4/vendor/symfony/console/Application.php:148

 Symfony\Component\Console\Application->run() at /home/devel/tests4/bin/console:39

标签: phpsymfonyconsoledoctrinemapping

解决方案


感谢大家尝试帮助我。

我修正了我的错误并在这里找到了正确答案:https: //plus.google.com/+KamilZabdyr/posts/fb5xYGyyyY8

这里快速修复一个非常常见的 ORM 错误:

PHP注意:未初始化的字符串偏移量:0 in ?/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php

通常它会被抛出,因为有一个 ORM 列名称标签为空。因此,请检查所有模型文件是否有任何空名称。例如:

@ORM\Column(name="", type="string", length=12)


推荐阅读