【问题标题】:Convert sql to doctrine orm in aend framework在 aend 框架中将 sql 转换为学说 orm
【发布时间】: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;

【问题讨论】:

    标签: php zend-framework orm doctrine-orm doctrine


    【解决方案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());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多