Symfony2:警告:spl_object_hash() 期望参数 1 为对象,给定整数

2024-03-27

我在实体之间有多对一的关系Project and Course因为每门课程可以有许多项目,所以许多项目可能与同一门课程相关。

这些是我的实体:

class Project{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    //... other fields ...


    //----------------------- DATABASE RELATIONSHIP ----------------//

    //PROJECT-COURSE - M:1 relationship
    /**
     * @ORM\ManyToOne(targetEntity="Course", inversedBy="project")
     * @ORM\JoinColumn(name="course_id", referencedColumnName="id")
     **/
    private  $course;

and

class Course{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */

    //... other fields ...

    //----------------------- DATABASE RELATIONSHIP----------------//

    //COURSE-PROJECT 1:M relationship
    /**
     * @ORM\OneToMany(targetEntity="Project", mappedBy="course")
     **/
    private $project;

当我尝试为我的课程插入新项目时出现错误,这是我的表单生成器:

            $builder
                ->add('name', 'text', array(
                    'attr' => array('class' => 'form-control')))
                ->add('description', 'textarea', array(
                    'attr' => array('class' => 'form-control', 'rows' => '10')))
                ->add('submit', 'submit', array(
                    'attr' => array('class' => 'btn btn-primary')));

我尝试插入这些数据,创建一个 Project 对象并用表单的结果填充它,如您所见:

$project->setName($form->get('name')->getData());
                $project->setDescription($form->get('description')->getData());
                $project->setPhasesNumber($form->get('phases_number')->getData());
                $project->setPathNumber($form->get('path_number')->getData());
                $project->setYear(date('Y'));
                $project->setCourse(5); //number 5 is just a test

                $em = $this->getDoctrine()->getManager();
                $em->persist($project);
                $em->flush();

问题应该与命令有关$project->setCourse(5);我已经看到,如果我删除项目和课程之间的关系,则不会出现错误。即使我注释了用于设置课程 id 的行,该错误也会消失,所以我认为这种关系有问题,但我不明白在哪里。

我刚刚在 stackoverflow 上读到了类似的其他问题,但这对我没有帮助。

提前致谢。


它正在寻找您使用带有以下实例的对象Course。仅仅传递课程 ID 是行不通的。

你可以这样做:

//...
$course = $this->getDoctrine()
               ->getManager()
               ->getRepository('Namespace:Course')
               ->findOneById(5);
$project->setCourse($course);
//...

正如 @Full 提到的,如果您知道该实体已经存在,您可以通过执行以下操作来设置它,而无需数据库查找:

$project->setCourse($this->getDoctrine()
                         ->getManager()
                         ->getReference('Namespace:Course', 5)
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony2:警告:spl_object_hash() 期望参数 1 为对象,给定整数 的相关文章

  • 将日期格式(在数据库或输出中)更改为 dd/mm/yyyy - PHP MySQL

    MySQL 将日期存储在我的数据库中 默认情况下 为 YYYY MM DD 我的日期的字段类型是 DATE 我不需要任何时间存储 有没有一种简单的方法可以默认更改它到 DD MM YYYY 我在两个不同的表中调用不同的日期 并且在我的任何代
  • 将子域重定向到 CakePHP 操作

    背景 我有一个 CakePHP 应用程序 位于 m 我想写一个根级别的 htaccess文件 它将重定向网站的 子域 作为操作的参数 例如 我想编写一个重写规则 这将导致像这样的重定向 http mysite myserver com ht
  • PHP中如何替换字符串?

    我有一个变量 其中包含如下所示的字符串 p The post a href http zed1 com journalized archives 2012 03 11 wordpress 3 for business bloggers Wo
  • 如何自定义 Zend_Form 正则表达式错误消息?

    我有以下代码 postcode form gt createElement text postcode postcode gt setLabel Post code postcode gt addValidator regex false
  • 使用 href 和 php 从 sql 数据库对 html 表进行排序

    我有一个 html 表 其中包含来自 php 吐出的 sql 表的产品数据 我想通过单击表列的标题对数据进行排序 我像这样输出我的表 php product list sql mysql query SELECT FROM products
  • 如何使用 PHP 创建动态页面标题

    大家好 我想知道是否有人可以帮助解决这个 PHP 问题 是否可以使用 H2 标记中的文本并使用它来动态填充页面标题 我还希望能够使用相同的技术将 H2 文本添加到元描述中 有人可以帮忙吗 如果您的 h2 文本是动态创建的 那么网页的其他部分
  • PHP7 返回类型为 JSON

    PHP 7 有一个新功能 即返回类型声明 我们可以返回一个 字符串 类型 例如 function myFunction a string 我们还可以返回一个 数组 类型 例如 function myFunction a array 但是我们
  • PayPal Rest API for Payments 在沙箱中返回 NULL

    我有一个 PayPal 沙盒帐户 我可以在 PHP 上使用curl 通过 api 检索令牌 但是处理测试卡只会返回 null 有人看到代码有问题吗 这是 PayPal 沙盒的已知问题吗 下面代码片段中的客户端是伪造的 但是 如前所述 使用我
  • 在composer.json中运行命令行命令

    我正在尝试编写一个composer json 文件 该文件将连续运行多个命令行命令 作为一个示例 如下所示 scripts test createDir createDir mkdir testing 当我在终端中运行作曲家文件时使用com
  • MySQL 和 PHP:多关键字搜索

    我有一个包含逗号分隔关键字的字符串 例如 keywords keyword1 keyword2 keyword3 我的表架构 名为tbl address是这样的 简化的 id INT 11 PRIMARY KEY AUTO INCREMEN
  • PHP:如何访问根目录之外的下载文件夹? [复制]

    这个问题在这里已经有答案了 我如何创建一个 PHP 脚本 页面 允许会员 买家下载存储在根目录之外的下载文件夹中的压缩文件 产品 我正在使用 Apache 服务器 请帮忙 谢谢 保罗 G 您可能会在 soac 提供的链接中找到一些更好的信息
  • 在php中的字符串数组中查找字符串的开头[重复]

    这个问题在这里已经有答案了 我知道我们有 php in array 函数 但我正在寻找一种方法来查找以特定字符串开头的字符串数组中的值 例如找到 search string div 1 div 在这样的数组中 array sample gt
  • 如何使用 PHP SoapClient 添加任意命名空间?

    如何使用 PHP SoapClient 添加任意名称空间 命名空间实际上并未在请求中使用 但我认为它阻止了我的消息被正确使用 WSDL 在这里 http abr business gov au abrxmlsearchRPC ABRXMLS
  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • PHP 静态变量用双引号引起来

    如何让 PHP 计算双引号中的静态变量 我想做这样的事情 log self CLASS METHOD entering 我尝试过各种 组合来获取变量值self CLASS 但没有任何效果 我目前已经解决了字符串连接问题 但输入起来很痛苦 l
  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • 尝试使用curl进行GET,发送的值允许为空

    我正在尝试使用curl 来执行一个简单的GET 其中包含一个名为redirect uri 的参数 被调用的 php 文件打印出 GET redirect uri 的空字符串 它显示 red 并且似乎没有发送任何内容 执行获取操作的代码 Ge
  • 日期函数的奇怪行为

    我今天在 StackOverflow 上遇到了这个问题 但没有得到答案 我的问题是 echo date Y m d strtotime 2012 september 09 output 2012 09 01 echo date Y m d
  • 通过“SELECT”命令选择每组的前两条记录的最佳方法是什么?

    例如我有下表 id group data 1 1 aaa 2 1 aaa 3 2 aaa 4 2 aaa 5 2 aaa 6 3 aaa 7 3 aaa 8 3 aaa 通过 SELECT 命令选择每组的前两条记录的最佳方法是什么 如果没有

随机推荐

  • 在 Java 中使用嵌套枚举类型

    我心中有一个涉及嵌套枚举的数据结构 这样我就可以执行如下操作 Drink COFFEE getGroupName Drink COFFEE COLUMBIAN getLabel 如果有方法声明 someMethod Drink type s
  • 从js数组中删除双引号

    我有这种类型的数组 80 529299450867271 7 3884550841172976 80 528953669541707 7 3875715810979612 80 528714422417153 7 3867339810469
  • 使用rvest,如何从submit_form()返回的对象中提取html内容

    我正在尝试从 pems dot ca gov 下载一些流量数据 如下这个话题 https stackoverflow com questions 28418770 using rvest or httr to log in to non s
  • Api 网关:用于 Lambda 集成的 AWS 子域

    我正在尝试将我的 lambda 函数与 API 网关集成 该函数必须异步运行 因为它需要太长时间 我相信我必须选择 AWS 服务 并指定 Lambda 而不是选择 Lambda 集成类型 例如 this http docs aws amaz
  • callgrind:如何检查一行是否执行

    是否可以使用 callgrind 产生像 gcov lcov 给出的输出一样的输出 我正在阅读他们的文档 无法找到 callgrind annotate 的确切选项 这是不可能的 但 callgrind annotate 或 kcacheg
  • Web API 项目在部署时不会运行 - 无法加载文件或程序集“Newtonsoft.Json,版本=4.5.0.0”

    当我部署 MVC 5 WEB API 项目时 我不断收到此错误 无法加载文件或程序集 Newtonsoft Json 版本 4 5 0 0 Culture neutral PublicKeyToken 30ad4fe6b2a6aeed 或其
  • Jquery 并将事件绑定到 iframe

    我目前正在使用 jquery textselect 插件根据页面上任何位置的选择文本来触发警报 并且它可以很好地执行以下操作 document ready function document bind textselect function
  • cron 作业替代品?

    我正在安装 Boonex 的 Dolphin 7 它要求我设置一个每 1 分钟运行一次的 cron 作业 然而 我的托管提供商允许我至少每 30 分钟运行一次 crons 我使用过 CMS 它有一个替代品 一个替代 cron 的脚本 有没有
  • Winforms 组件的父级/所有者[重复]

    这个问题在这里已经有答案了 从嵌入表单中的自定义 Winforms 组件中 如何获取父 所有者控件 我有一个 IContainer 并且 Site 属性不为空 但我不知道如何到达 真正的 父级 这是后续这个问题 https stackove
  • MongoDb:如果不存在,则将元素添加到数组[重复]

    这个问题在这里已经有答案了 我正在使用 node js 和 Mongodb 我是新使用 Mongod 的 我有一个这样的文档 Tag name string videoIDs array 这个想法是 服务器接收一个像这样的 JSON JSO
  • FOR /F 命令循环中的错误级别返回意外结果

    我正在尝试记录输出net stop同时还捕捉其ERRORLEVEL 基于这个问题 https stackoverflow com questions 3088712 我在嵌套子例程中尝试了以下操作 set a loopIndex 0 for
  • 如何在基于 php 的系统中的同一页面上显示登录错误消息?

    我正在构建一个基于 php 的登录系统 用户需要输入用户名和密码才能登录 我的问题是 如何在同一页面上显示 无效的用户名或密码 错误消息 我尝试了很多事情 包括尝试使用查询字符串 error 1 它确实通过在同一页面上显示错误消息来解决我的
  • 如何在python中读取Mat v7.3文件?

    我正在尝试阅读以下网站中给出的mat文件 ufldl stanford edu housenumbers 在文件train tar gz中 有一个名为digitStruct mat的mat文件 当我使用 scipy io 读取 mat 文件
  • 在 NetBeans 中禁用“保存快照”

    如何在 NetBeans 7 1 2 中禁用保存快照 它大大减慢了系统速度 有什么建议 这些快照是 IDE 检测到缓慢行为时拍摄的性能快照 由于显而易见的原因 速度较慢的计算机更有可能触发收集 通过花费比预设时间更长的时间来完成任务 然后需
  • 使用 Python 备份 Postgresql 数据库

    我想使用Python代码备份数据库 我想备份一些相关数据的表 如何备份以及如何使用 SELECT 语句选择所需的表 e g 我想获取一些表从 2014 05 01 到 2014 05 10 的数据 并将结果输出为 sql 扩展文件 如何使用
  • 从标头自动生成 C 代码

    我想生成头文件中定义的过程的空实现 理想情况下 它们应该为指针返回 NULL 为整数返回 0 等 并且在理想的情况下 还可以打印到 stderr 调用了哪个函数 这样做的动机是需要实现一个包装器 将复杂的现有 API 头文件 的子集适配到另
  • 适用于 i18n 的 FuelPHP ORM 数据库架构,意见/建议

    虽然这个问题可能是similar https stackoverflow com questions 929410 what are best practices for multi language database design to
  • CSS Sprite + 背景大小:覆盖

    有没有办法使用背景尺寸 封面在加载了 CSS Sprite 的图像上 示例代码 class img sprite background image url images sprite img png background repeat no
  • linux cron 作业是否应该用“&”指定以指示在后台运行? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在 crontab 文件中 是否应该使用尾随 来指定命令 还是命令会在后台运行 I have 20 home me monitor check sh
  • Symfony2:警告:spl_object_hash() 期望参数 1 为对象,给定整数

    我在实体之间有多对一的关系Project and Course因为每门课程可以有许多项目 所以许多项目可能与同一门课程相关 这些是我的实体 class Project ORM Id ORM Column type integer ORM G