<?php
use Doctrine\ORM\Mapping as A;
/**
* @A\NamedNativeQueries({
* @A\NamedNativeQuery(
* name = "myTestQuery",
* resultSetMapping = "mappingTest",
* query = "SELECT id, creation_date FROM test WHERE name = 'foo'"
* )
* })
* @A\SqlResultSetMappings({
* @A\SqlResultSetMapping(
* name = "mappingTest",
* entities= {
* @A\EntityResult(
* entityClass = "__CLASS__",
* fields = {
* @A\FieldResult(name = "id"),
* @A\FieldResult(name = "creationDate", column="creation_date")
* }
* )
* }
* )
* })
*
* @A\Entity
* @A\Table(name="test")
*/
class Test
{
/**
* @A\Column(type="integer", name="id")
* @A\Id
* @A\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @A\Column(type="string", name="name", length=255)
*/
public $name;
/**
* @A\Column(type="datetime", name="creation_date", nullable=true)
*/
public $creationDate;
}
$query = $entityManager->getRepository(Test::class)
->createNativeNamedQuery('myTestQuery')
->getResult();
dump(
$query[0]->id,
$query[0]->name,
$query[0]->creationDate->format('Y-m-d H:i:s')
);