【发布时间】:2017-04-24 09:42:44
【问题描述】:
我得到了这样的 DQL:
$sql =$qb->select('login,id')
->from('Cusomter','c')
->where('c.login = :login')
->setParameter('login',$login);
$rs = $sql->getQuery()->getResult();
我希望结果将作为具有 2 个属性的对象返回:登录,id。
反正我能做到吗?我试过CustomHydrator,但它不会成功。
这是我的 CustomHydrator:
namespace Hydrator;
use Doctrine\ORM\Internal\Hydration\AbstractHydrator;
class CustomHydrator extends AbstractHydrator
{
protected function hydrateAllData()
{
return $this->_stmt->fetchAll(\PDO::FETCH_ASSOC);
}
}
然后我添加了$em->getConfiguration()->addCustomHydrationMode('CustomHydrator', 'Hydrator\CustomHydrator');
并运行:$rs = $sql->getQuery()->getResult('CustomHydrator');
【问题讨论】:
-
你会得到什么对象?
-
我得到了数组的结果
-
请从查询中删除
->select('login,id')。 -
你总是可以使用 Doctrine 中的 getSQL() 来查看你的 SQL 查询是什么