我已经设置了一个包含测试对象的包,该对象包含许多testQuestion对象,每个对象都是一个问题和给定的答案(如果没有答案则为0).从树枝上我希望能够从测试对象中获取信息,说明有多少问题以及已经回答了多少问题.

我创建了一个查询来将其从数据库中拉出来,在测试实体中我创建了2个新属性来存储问题的数量和回答的数量.我创建了一个查询所在的TestRepository. Test对象检查对象是否设置了值,如果没有,则在需要时加载它,因为我不总是需要这些信息.

但是我仍然坚持如何将存储库代码链接到测试对象,既调用repo函数又调用repo函数将值保存到相关的Test对象.

ACME / Quizbundle /测试/ test.php的

namespace Acme\QuizBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

use Acme\QuizBundle\Entity\TestRepository;

/**

* @ORM\Entity(repositoryClass="Acme\QuizBundle\Entity\TestRepository")

* @ORM\Table(name="test")

*/

class Test {

protected $numQuestions = null;

protected $numQuestionsAnswered = null;

public function getNumQuestionsAnswered () {

if (is_null($this->numQuestionsAnswered)) {

$repository = $this->getEntityManager()->getRepository('\AcmeQuizBundle\Test');

$values = $repository->calculateNumQuestions();

}

return $this->numQuestionsAnswered;

}

Acme / Quizbundle / Test / TestRepository.php(有一个getNumQuestions()的匹配方法)

namespace Acme\QuizBundle\Entity;

use Doctrine\ORM\EntityRepository;

class TestRepository extends EntityRepository {

private function calculateNumQuestions() {

$qb = $this->getEntityManager()

->createQueryBuilder();

$query = $this->getEntityManager()->createQueryBuilder()

->select('COUNT(id)')

->from('testquestion', 'tq')

->where('tq.test_id = :id')

->setParameter('id', $this->getId())

->getQuery();

$result = $query->getSingleScalarResult();

var_dump($result);

}

php 对象 数量,php – Symfony2 / Doctrine如何在实体中存储相关对象的数量相关推荐

  1. MongoDB学习笔记~MongoDB实体中的值对象

    回到目录 注意,这里说的值对象是指在MongoDB实体类中的,并不是DDD中的值对象,不过,两者也是联系,就是它是对类的补充,自己本身没有存在的价值,而在值对象中,也是不需要有主键Id的,这与DDD也 ...

  2. 集合中存储自定义对象源代码

    集合中存储自定义对象: package attention;import java.util.ArrayList; import java.util.Collection; import java.u ...

  3. 本实例演示往TreeSet集合中存储自定义对象

    1 package JiHe.Set; 2 3 import java.util.Iterator; 4 import java.util.TreeSet; 5 6 /* 7 * 本实例演示往Tree ...

  4. contentwindow无法搜索对象_面试官:讲一下Jvm中如何判断对象的生死?

    但凡问到 JVM(Java 虚拟机)通常有 99% 的概率一定会问,在 JVM 中如何判断一个对象的生死状态? 判断对象的生死状态的算法有以下几个: 1.引用计数器算法 引用计算器判断对象是否存活的算 ...

  5. mysql怎么直接显示对象信息_对象保存进MySQL数据库,从MySQL中读取出对象信息的源码...

    数据库名:db_file_test 表名:obj 实体类: package com.bean; import java.io.Serializable; public class User imple ...

  6. java map存储对象_java-在ConcurrentHashMap中存储复杂对象

    根据实践中的Java Concurrency,以下代码可能引发断言错误: 如果要调用发布线程以外的线程 assertSanity,它可能会引发AssertionError public class H ...

  7. redis中存储java对象的两种方式

    根据redis的存储原理,Redis的key和value都支持二进制安全的字符串 1.利用序列化和反序列化的方式 存储java对象我们可以通过对象的序列化与反序列化完成存储于取出,这样就可以使用red ...

  8. Java存储任意对象_浅析java设计模式(一)----异构容器,可以存储任何对象类型为其他类提供该对象...

    最近在着手重构一个java UI桌面项目,发现这个项目在一开始的时候由于需求不明确,以及开发人员对swing框架不熟悉等问题造成了页面代码混乱的情况:为了能够在各个类里都可以拿到其他类的引用去进行相应 ...

  9. 在配置文件(.settings、.config)中存储自定义对象

    引言 我前面曾写过一篇<使用配置文件(.settings..config)存储应用程序配置>,我在其中指出"settings无法实现对一些复杂类型及自定义类型的支持". ...

最新文章

  1. 软件项目技术方案_榆林化学公司项目工艺包关键技术创新方案审查顺利完成
  2. Mongo北京大会3月3号召开!报名抢注火爆进行中!(免费)
  3. 解决Android图库不识别.nomedia的问题
  4. VMware 虚拟化编程(8) — 多线程中的 VixDiskLib
  5. Django模型层(models.py)之多表操作
  6. MySQL分组查询—添加排序
  7. oracle sqlldr详解,sqlldr详解
  8. xampp for mac mysql_【XAMPP和Xampp For Mac哪个好用】XAMPP和Xampp For Mac对比-ZOL下载
  9. 春运抢票靠加速包?试试这个 Python 开源项目吧
  10. jquery的选择器之-表单对象属性过滤选择器
  11. 软碟通 UltraISO U启替代品 Win32DiskImager 无设备 无盘符 无u盘 无优盘 解决方案 之diskpart
  12. 自制计算机考试系统,用WPS表格制作考试系统 -电脑资料
  13. 一个把ijkplayer封装的很好的例子
  14. 5G及移动边缘计算(MEC)学习笔记(1)
  15. 计算机为什么逻辑判断准确,逻辑判断之评价型答题技巧
  16. GitHub:基于搜狗微信搜索的微信公众号爬虫接口
  17. 图层重命名快捷键_图层的基础知识
  18. CVPR 2022 Oral | 视频文本预训练新SOTA,港大、腾讯ARC Lab推出基于多项选择题的借口任务
  19. 在 Azure ML 上用 .NET 跑机器学习
  20. 5G专利第一再惹争议,诺基亚声称第一,华为咋办?

热门文章

  1. mysql 排版 指令_Mysql语句排版
  2. C++从0到1的入门级教学(十一)——友元
  3. 手动构建磁贴服务器(16.04.2 LTS)
  4. 【Mac】tar 打包指定目录并排除某些目录或文件
  5. 如何使用repo sync
  6. [Redux/Mobx] 举例说明怎么在redux中定义action?
  7. 前端学习(3202):函数式组件
  8. 前端学习(3194):虚拟dom的创建方式1的jsx
  9. 前端学习(2954):vue文件的三大组成部分
  10. [html] 说说video标签中预加载视频用到的属性是什么?