use*_*167 3 doctrine doctrine-orm
使用doctrine加载一条记录的首选方法是什么?
我在用
$em = EntityManager::create($connectionOptions, $config);
$dql = "select r from Rolle r";
$list = $em->createQuery($dql)->getResult();
Run Code Online (Sandbox Code Playgroud)
获取记录列表.
我试过用
$dql = Doctrine_Query::create()
->from('Rolle r')
->where('r.ID = 14');
$rolle = $dql->fetchArray();
Run Code Online (Sandbox Code Playgroud)
获得一条记录.这是首选方式吗?
如果是:我收到内部服务器错误:在线上找不到类'Doctrine_Query'...
我搜索了一个包含字符串'Doctrine_Query'的文件,但我没有这样的文件.那么我在哪里可以找到这门课?
正如我在这里所说,你不能使用getSingleResult()或getOneOrNullResult()从行中选择第一行,因为如果查询返回多个结果,这些函数会抛出异常.要解决此问题,您可以添加setMaxResults(1)到查询构建器.
$firstSubscriber = $entity->createQueryBuilder()->select('sub')
->from("\Application\Entity\Subscriber", 'sub')
->where('sub.subscribe=:isSubscribe')
->setParameter('isSubscribe', 1)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18726 次 |
| 最近记录: |