在 aend 框架中将 sql 转换为学说 orm
Posted
技术标签:
【中文标题】在 aend 框架中将 sql 转换为学说 orm【英文标题】:Convert sql to doctrine orm in aend framework 【发布时间】:2015-11-06 07:04:38 【问题描述】:我的查询如下所示:
SELECT *
FROM mydb.users
left join mydb.job on
users.id = job.userid;
现在我在查询数据库中使用教义 orm,但我是新手。 到目前为止我所做的如下,但它没有按预期工作。
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder();
$qb->select(array('a', 'c'))
->from('Admin\Entity\User', 'a')
->leftJoin('a.id', 'c');
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
【问题讨论】:
【参考方案1】:你不需要 from 子句和数组 from 子句 select
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder('u');
$qb->select('u', 'j')
->leftJoin('u.jobs', 'j')
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
您的用户实体必须包含该属性的“一对多”作业。
显示 SQL 输出的技巧:
var_dump($qb->getQuery()->getSQL());
【讨论】:
以上是关于在 aend 框架中将 sql 转换为学说 orm的主要内容,如果未能解决你的问题,请参考以下文章
如何将这个简单的 sql 查询转换为学说 querybuilder