Get Alias using ResultSetMapping

I have a query that using latitude and longitude, gets me the records that are close to other latitude and longitude. In the query I get the distance but I don't know how to return it. This is my code:

public function findNearUsers($lon, $lat, $dist = 25){

        $rsm = new ResultSetMapping;


        $rsm->addEntityResult('Entities\Users', 'l');
        $rsm->addFieldResult('l', 'id', 'id');
        $rsm->addFieldResult('l', 'name', 'name');
        $rsm->addFieldResult('l', 'birthDay', 'birthDay');
        $rsm->addFieldResult('l', 'gender', 'gender');

        $query = $this->_em->createNativeQuery(
                "SELECT l.id, l.name, l.birthDay, l.gender, SQRT(
    POW(69.1 * (latitude - (?)), 2) +
    POW(69.1 * ((?) - longitude) * COS(latitude / 57.3), 2)) AS distance
    FROM users l
            HAVING distance < (?)
            ORDER BY distance", $rsm
        );

        $query->setParameter(1, $lat);
        $query->setParameter(2, $lon);
        $query->setParameter(3, $dist);

        return $query->getResult();
    }

As you can see I calculate the distance and have in the query as as distance . How can I return distance? Thanks!

Answers


For anybody that has the same problem, I don't know if it was a workaround, but adding the variable to my entity worked.


Need Your Help


About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.