php - 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
解决方案
感谢大家尝试帮助我。
我修正了我的错误并在这里找到了正确答案: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)
推荐阅读
- tableau-api - Tableau-累积直方图
- python - python从文件中读取输入而不是用户输入
- html - 使用 URL 展开 Bootstrap 手风琴
- node.js - 发布时出现多个 npm 错误
- linear-programming - 消除简单 TSP 问题中的子旅游
- python - 如何将 csv 数据集收集为矩阵而不是元组?
- r-markdown - 我可以指定 ioslides_presentation 选项并维护 kableExtra bootstrap_options 吗?
- c++ - C++20 中的概念
- python - 在 Python 中使用来自 excel 文件的 pandas 进行数据清理
- java - Java 接口:在实现类中使用默认方法实现