1
0
mirror of synced 2025-03-04 20:03:21 +03:00

Merge pull request #780 from terite/DDC-2655

[DDC-2655] Don't let getOneOrNullResult throw NoResultException
This commit is contained in:
Guilherme Blanco 2013-10-11 13:43:27 -07:00
commit bb63058410
2 changed files with 29 additions and 1 deletions

View File

@ -609,7 +609,12 @@ abstract class AbstractQuery
*/
public function getOneOrNullResult($hydrationMode = null)
{
$result = $this->execute(null, $hydrationMode);
try {
$result = $this->execute(null, $hydrationMode);
} catch (NoResultException $e) {
return null;
}
if ($this->_hydrationMode !== self::HYDRATE_SINGLE_SCALAR && ! $result) {
return null;

View File

@ -0,0 +1,23 @@
<?php
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\ORM\Query;
/**
* @group DDC-2655
*/
class DDC2655Test extends \Doctrine\Tests\OrmFunctionalTestCase
{
public function setUp()
{
$this->useModelSet('cms');
parent::setUp();
}
public function testSingleScalarOneOrNullResult()
{
$query = $this->_em->createQuery("SELECT u.name FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE u.username = 'happy_doctrine_user'");
$this->assertNull($query->getOneOrNullResult(Query::HYDRATE_SINGLE_SCALAR));
}
}