On Fri, Mar 08, 2013 at 02:05:19PM +0000, Robert Rothenberg wrote:
> 
> I am trying to run a DBIx::Class query on a PostGIS function with binders,
> with the attributes of the search query having something like:
> 
>  {
>   'as' => [
>   'id',
>   'name',
>         'location',
>         'distance_from_location'
>         ],
>         'order_by' => ['distance_from_location'],
>         'join' => [],
>         'select' => [
>             \ 'me.id::int',
>             'me.name',
>             {
>                 'ST_AsText' => 'me.location'
>             },
>             \ [
>                 'ST_Distance(me.location,ST_GeomFromText(?, 27700))',
>                 [
>                  'location',
>                  'POINT(400928 298992)'
>                 ]
>             ]
>         ]
>   }
> 
> This worked. Then, for reasons I don't understand, stopped working.

Could you recall what you did when it stopped working? Upgrade or anything?

> So how do I specify the 'as' attribute for bound functions?

What you have above is a literal chunk of SQL - stuff that will be passed
to the RDBMS directly. Simply change

  'ST_Distance(me.location,ST_GeomFromText(?, 27700))'
to
  'ST_Distance(me.location,ST_GeomFromText(?, 27700)) AS distance_from_location'


Though I still would like to find out how that ever worked.

Cheers


_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk

Reply via email to