- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Doctrine2/QueryBuilder
构建一个 innerJoin
查询。
$repo = $this->getDoctrine()
->getRepository('MyBundle:Models');
$query = $repo->createQueryBuilder('m')
->where('m.id = :id')
->setParameter('id', $id);
学说说:
A join always belongs to one part of the from clause. This is why you have to specify the alias of the FROM part the join belongs to as the first argument.
As a second and third argument you can then specify the name and alias of the join-table and the fourth argument contains the ON clause.
例如
$queryBuilder
->innerJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id');
我无法理解的是 'phonenumbers'
表引用了 Entity Name
或 DB Table Name
。
我真正想要的是,有什么方法可以显式引用实体
innerJoin('u', 'MyBundle:phonenumbers', 'p', 'u.id = p.user_id')
?
就这样加入的时候有点乱。有人可以给我解释一下吗?
求助!!
最佳答案
您正在处理表的 DQL 级别,这意味着您实际连接了一个表,因此您只需要表名,而不是实体名。表“phonenumbers 甚至可能没有实体开头,这就是 Doctrine 要求表名而不是实体名的原因。
编辑
实际上可以像下面这样使用实体名称(取 self 自己的代码,它很有魅力):
$builder = $this->createQueryBuilder('m');
$builder->innerJoin(
'YourBundle:Category',
'c',
Join::WITH,
$builder->expr()->eq('m.id', 'c.mdl_id')
);
要使用 Join 中的常量,您应该首先:
use Doctrine\ORM\Query\Expr\Join;
但这也应该有效(取自文档,这意味着应该像魅力一样工作):
$queryBuilder
->select('id', 'name')
->from('users', 'u')
->innerJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id');
关于php - 使用 QueryBuilder 的 Symfony2/Doctrine2 innerJoin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666539/
DBAL 查询生成器: http://www.doctrine-project.org/api/dbal/2.3/class-Doctrine.DBAL.Query.QueryBuilder.html
我的查询生成器可以正常工作,但是当我拉出控制台时,出现的错误是 QueryBuilder is not defined 我是否缺少对 JS 库的引用,或者我是否以错误的顺序加载 JS?这是我的 Jav
我正在使用高级 java rest 客户端 (6.5),我需要根据某个日期范围过滤数据 - 假设,我在同一个索引和 2 个文档中有这 4 个文档(添加了 postman 图像)'没有 publish_
我有一个新鲜的QueryBuilder ,我想要orderByRaw使用SelectArg . //String column is coming from unknown source Select
我有一个查询要从具有日期的实体获取用户名: return $this->createQueryBuilder('t') ->select('t.username') ->where('
我有一个用例,我有一个 boolQueryBuilder,它在不同类型的查询中很常见。 现在对于不同的查询,我需要向 boolQueryBuilder 添加不同的 must()。 基本上,假设我有一个
我想知道我的表 TABLE 中的行数以及属性 name="joe" 这里是我到目前为止使用的代码,但我检索了对象(这只是不必要的,所以没有优化) $repository = $this->getDoc
有没有一种方法可以使查询生成器类似于 Mysql 中的下一个查询生成器: "SELECT a.* FROM fsa_areas ORDER BY (SELECT count(*) FROM fsa_a
我有以下查询: $qb ->select('z') ->where($qb->expr()->orX( $qb->expr()->like('z.city', ':czReq
我有如下代码,我在 bool 查询中执行多个 must。在这里,我在“地址”字段中传递了必须的术语查询。现在 ip 地址将作为其他 api 的列表传给我,我必须将列表中的所有 ip 作为必填项查询传递
您好,我正在尝试使用 QueryBuilder 和 Query\Expr 构建查询。我的问题是构建子条件,以便获得所有这些条件的模型列表? Status 为 true 且不在 model name 列
我正在使用 JQuery QueryBuilder在我的 HTML 页面中。我关注了installation guide .我的 HTML head 包括以下内容
我试图将一个变量放入查询中的字段名称中,所以我有一个架构: id amazon - tesco - asda - happyshopper - 1 £5 - NULL - NULL
是否可以在 createQueryBuilder 中使用可选参数? 例如,我有这样的代码: let users = await this.conn .getRepository(UserEntit
我有一个简单的查询: $this->qb->select('l.value') ->addSelect('count(l) AS cnt') ->addSelect('
我正在使用 Symfony2 和 Doctrine2 开发应用程序。我还使用了 Doctrine 的 QueryBuilder。我有这个查询: public function getInterpDes
如何在查询生成器中使用子字符串: 我试过这个: $qb->andWhere($qb->expr()->substring('t0.country',1,2) != 'FR'); ... 但我有这个异常
在我的实体上,我有一个用户数组集合 /** * @ORM\ManyToMany(targetEntity="\UserBundle\Entity\User", mappedBy="acr_group
我正在尝试对 id 字段进行计数请求。 我的 Controller 中有以下代码: $qb = $em->createQueryBuilder(); $qb->select('count(c.id)'
我在使用javax.persistence.criteria.CriteriaBuilder创建查询时遇到问题。我正在使用EclipseLink 2.1和Oracle 10g数据库。构建具有多个限制的
我是一名优秀的程序员,十分优秀!