Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony:向条令实体添加列_Php_Symfony_Doctrine Orm_Doctrine - Fatal编程技术网

Php Symfony:向条令实体添加列

Php Symfony:向条令实体添加列,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我正在努力学习Symfony的基础知识,遇到了一个困扰我的问题 我尝试将数据写入SQL表,主要遵循文档()中的说明。我通过创建了一个实体 $ php bin/console doctrine:generate:entity 并且它正确地映射到我的DB表,我可以读写,没有问题。之后,我在表中添加了一列,并在实体中添加了相应的行: /** * @var string * * @ORM\Column(name="User_Credentials", type="text") */ pri

我正在努力学习Symfony的基础知识,遇到了一个困扰我的问题

我尝试将数据写入SQL表,主要遵循文档()中的说明。我通过创建了一个实体

$ php bin/console doctrine:generate:entity
并且它正确地映射到我的DB表,我可以读写,没有问题。之后,我在表中添加了一列,并在实体中添加了相应的行:

/**
 *  @var string
 *
 *  @ORM\Column(name="User_Credentials", type="text")
 */
private $userCredentials;
然后我尝试创建setter和getter,但没有做任何更改,只是对实体进行了备份。所以我自己添加了getter和setter,但是当试图写入DB时,相应的列被ommited,保持为空。没有给出错误。我反复检查拼写错误或其他sytax错误,但找不到任何错误。当做

$ php bin/console doctrine:schema:update --dump-sql
我明白了

看来我的专栏完全被忽略了。我重新清理了缓存,但什么也没改变。很明显,我迷路了。任何关于正确路径的提示都将不胜感激

谢谢。

您可以使用此操作。此捆绑包将管理您的数据库操作。(删除、更改、创建等)


无论如何,当您添加一个新的专栏时,您可以尝试以下内容:
php应用程序/控制台条令:schema:update--force
好吧,这让人尴尬

无论如何,如果其他人也有同样的问题:我在'@ORM\Column'注释之前有一个选项卡,而解析器似乎无法处理这个问题。删除选项卡并添加一个空格就成功了

莫特的答案无论如何都是正确的,所以我会把它标记为正确答案

我在表中添加了一列,并在实体中添加了相应的行

Symfony的概念是只向实体添加列,而不向表本身添加列

然后,当你执行

php bin/console doctrine:schema:update --force
Symfony会检测到您有一个新列,它会自动将列添加到表中


关于清除缓存的提示。如果在Symfony中启用了apc缓存,您还需要重新启动Apache或php fpm进程。否则它将忽略新注释。

好吧,这将从表中删除我的新列。无论如何,我将研究迁移。我想我需要安装这个捆绑包?是的,我提供使用这个捆绑包的工作。您将看到它将拯救您的生命:)我安装了该捆绑包,将其添加到内核并运行“PHPBIN/console原则:迁移:差异”。它告诉我“在您的映射信息中未检测到任何更改”。schema:update没有更改表中的任何内容-仍然是同一个问题,它不会检测到我的更改。您是否向config.yml中添加了原则(migrations configs)了?能否尝试
php bin/console原则:cache:clear metadata
php bin/console原则:migrations:diff
php bin/console doctrine:schema:update --force