这是我的自定义查询:
$query = $em->createQuery("SELECT max(d.id) FROM MyBundle:DBTableEntity d ");
$max_incoming_id = $query->execute();
我希望它返回实体对象,就像下面这样:
$EntityObj = $resource->getRepository("MyBundle:DBTableEntity")->findAll();
知道怎么做吗?
答案 0 :(得分:1)
这样的事情应该有效
$EntityObjects = $resource->getRepository('MyBundle:DBTableEntity')
->createQuery()
->orderBy('id', 'DESC')
->getResult();
$EntityObject = array_pop($EntityObjects);
答案 1 :(得分:1)
试试这个
$query = sprintf("SELECT s FROM BundleName:EntityClass s where s.field1 = %d and s.field2=%d", $field1, $field2);
$em = $this->getDoctrine()->getEntityManager();
$queryObj = $em->createQuery($query);
$entities = $queryObj->execute();
答案 2 :(得分:0)
使用excute,您会收到一系列结果(实体)。
所以你可以做$ entities = $ query.excute();
返回$ entities [0]; //这是你有一个结果;
array_pop($ entities)不起作用这会在symfony 2.6
中出错答案 3 :(得分:0)
我想你会喜欢这种风格:
$EntityObj = $resource->getRepository("MyBundle:DBTableEntity")
->findOneBy(array(), array('id' => 'DESC'));
:)