检测 Symfony2 中的实体配置错误

2024-02-10

好吧,我不知道如何修复项目中的错误。

我正在尝试处理具有多对多属性关系的嵌套表单。 错误表明它无法创建关联,因为其中一侧需要 ID。

好吧。所以我尝试只创建缺失的一面。 但仍然是同样的错误。

最后,我意识到这个简单的代码仍然存在同样的问题:

public function onSuccess(Page $page)
{   
    $this->em->flush();
}

我希望收到一条错误消息,例如“嘿,没有什么可以刷新的!” 但不,仍然是同样的错误:我必须在关联它之前创建对象(及其 id)。

我查看了堆栈跟踪。是的,似乎 UnitOfWork ->computeAssociationChanges 在刷新之后被调用,并且需要关联对象的 Id。

如果刷新命令产生错误,如何在数据库中创建对象?


问题是由于实体类中的严重拼写错误造成的。 我通过使用 Symfony 的插件检查模式结构找到了它:

<?php
namespace Lp\LibBundle\Command;

use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Bundle\DoctrineBundle\Command\Proxy\DoctrineCommandHelper;
use Doctrine\ORM\Tools\Console\Command\ValidateSchemaCommand;

class MyValidateSchemaCommand extends ValidateSchemaCommand
{

/**
 * (non-PHPdoc)
 * @see Tools/Console/Command/Doctrine\ORM\Tools\Console\Command.ValidateSchemaCommand::configure()
 * 
 * Modifies name of the command to be in Doctrine namespace
 * Adds the Helper em for the entity manager which is not defined in Doctrine class 
 * @author ulrich, 09/09/11
 */
protected function configure()
{
    parent::configure();
    $this->setName('doctrine:orm:validate-schema');
    $this->addOption('em', null, InputOption::VALUE_OPTIONAL, 'The entity manager to use for this command');
}

/**
 * (non-PHPdoc)
 * @see Tools/Console/Command/Doctrine\ORM\Tools\Console\Command.ValidateSchemaCommand::execute()
 * 
 * Ajoute le Helper em pour l'entity manager qui n'est pas définis dans la class Doctrine
 * @author ulrich, 09/09/11
 */
protected function execute(InputInterface $input, OutputInterface $output)
{
    DoctrineCommandHelper::setApplicationEntityManager($this->getApplication(), $input->getOption('em'));

            return parent::execute($input, $output);
}

资料来源:乌尔里希 http://www.mon-code.net/article/26/ajouter-les-lignes-de-commande-doctrine2-a-symfony2

这允许使用此命令指令来检测实体拼写错误。

> php app/console doctrine:orm:validate-schema
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测 Symfony2 中的实体配置错误 的相关文章

随机推荐

  • aws lambda 调用未在 POST 上填充正文

    感谢 EVK 对我之前的问题的帮助 可以使用 API GET 但不能使用 API POST https stackoverflow com questions 49665248 can use api get but not api pos
  • 如何使用army bear common lisp 创建jar?

    我想知道是否可以使用army bear common lisp 创建一个jar 文件 如果可以的话该怎么做 换句话说 我有以下代码 格式为 Hello World 我可以在armed bear common lisp中运行它 我想知道如何创
  • 停止失控的 Lua 子进程

    我使用 LuaObjCBridge 将 Lua 嵌入到 Objective C 应用程序中 我需要知道如何停止 Lua 进程 如果它花费太多时间 无限循环 在单独的线程中运行它会有帮助吗 通常的方法是使用lua sethook http w
  • Ember.js 绑定模型存储在数组中

    当模型存储在数组中时 从一个模型绑定到另一个模型的 正确 方法是什么 通常我会想象这将是控制器的content数组 但为了保持示例简单 MyApp websites MyApp websites push Ember Object crea
  • 使用 R 中函数的额外参数进行归约[重复]

    这个问题在这里已经有答案了 我正在尝试使用ReduceR 中的函数使用merge跨多个数据帧的功能 问题是 我想将合并函数与参数一起使用all T 并且似乎没有地方可以在高阶中指定这一点Reduce功能 所以我想 a lt data fra
  • 如何在 setInterval ajax Web 服务调用中阻止 ASP.net 表单身份验证/会话更新?

    我编写了一个控件 其中包含一个 javascript 组件和一个 Web 服务组件 我遇到的问题是 javascript 设置为 setInterval this checkAlertsHandler this messageCheckIn
  • 条码字体与条码打印机字体有什么区别

    有人知道条形码字体 在报告中用作字体 和直接从条形码打印机打印的字体之间的区别吗 为什么条码字体前后要加星号 据我了解 当我们使用条形码打印机时 我们不需要它 为什么不呢 星号字符是规范的一部分Code 39 http en wikiped
  • Nokogiri、open-uri 和 Unicode 字符

    我正在使用 Nokogiri 和 open uri 来获取网页上标题标签的内容 但在处理重音字符时遇到问题 处理这些问题的最佳方法是什么 这就是我正在做的 require open uri require nokogiri doc Noko
  • Rails 4 将登录设计为弹出窗口

    您好 我正在使用设备对用户进行身份验证 我已经按照各种教程在弹出窗口中登录 但我没有成功 任何人都可以详细告诉我如何做到这一点 我已经尝试了各种教程 但没有任何效果 每件事都再次重定向到登录页面 我是 Rails 的新手请帮忙 我无法在同一
  • 价值迭代和策略迭代有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在强化学习中 有什么区别策略迭代 and 价值迭代 据我了解 在价值迭代中 您使用贝尔曼方程来求解最优策略 而在策略迭代中 您随机选择一个
  • 为什么使用@PostConstruct?

    在托管 Bean 中 PostConstruct在常规 Java 对象构造函数之后调用 我为什么要使用 PostConstruct通过 bean 初始化 而不是常规构造函数本身 因为当调用构造函数时 bean 尚未初始化 即没有注入依赖项
  • 如何在 Visual Studio 2008 中关闭 RTTI

    我不确定其他版本 但是 在 VS 2008 中 即使禁用了 RTTI 我也可以通过调用来查询信息typeid T name 关于类型 它适用于所有类型 包括内部类型和用户创建的类型 我们的项目禁用了 RTTI 但我惊讶地发现这仍然有效 这是
  • 如何在批量插入之前将 .csv 文件中的日期转换为 SQL 格式

    我有一个 csv 文件 其中包含几千个游戏日期 但它们都是 MM DD YYYY 格式 2 27 2011 3 05 PM 26 14 26 和 14 是团队 ID 尝试将它们放入 SQL 中只会导致 0000 00 00 被放入我表的日期
  • Google 操作模拟器不适用于标准 Google Assistant 功能

    我已经使用 Actions on Google 2 5 0 和dialogflow fulfillment 0 6 1 Node js 库构建了一个操作 我无法在对话框流测试控制台上测试我的应用程序 因为我返回那里不支持的 conv 对象
  • 编译器不遵循 Visual Studio C++ 中的符号链接

    我正在使用 Visual Studio 2008 C 项目 Visa 32 位 我有以下内容 include我的源代码中的指令 include
  • 克隆 git 存储库时出现 RSA 主机密钥警告

    我正在使用 git bash 克隆我的 github 存储库并不断收到警告 我正在使用 SSH 所以 我使用这个 git 命令 git clone email protected cdn cgi l email protection Tap
  • 启用迁移 - 无法将参数绑定到参数“路径”

    我是 ASP NET 新手 正在尝试使用实体框架设置 webAPI C 应用程序 但是当我尝试在 nuget package manager 控制台上运行 Enable Migrations 命令时 出现以下错误 无法将参数绑定到参数 Pa
  • Android - 播放视频的不同方式

    我刚刚遇到了 VideoView 的限制 无法播放宽度超过 320 像素的 mp4 视频文件 我想知道我们如何才能克服这些限制 我试图让我的应用程序尽可能宽容 所以除了使用 VideoViews 之外 还有其他方法来播放这些 mp4 视频吗
  • jmeter HTTP响应代码:org.apache.http.conn.HttpHostConnectException,非HTTP响应消息:连接被拒绝错误

    我正在使用 JMeter 测试负载 我正在使用 Amazon Server 当我测试 400 个并发用户的负载时 我收到错误消息 HTTP response code org apache http conn HttpHostConnect
  • 检测 Symfony2 中的实体配置错误

    好吧 我不知道如何修复项目中的错误 我正在尝试处理具有多对多属性关系的嵌套表单 错误表明它无法创建关联 因为其中一侧需要 ID 好吧 所以我尝试只创建缺失的一面 但仍然是同样的错误 最后 我意识到这个简单的代码仍然存在同样的问题 publi