[Dbix-class] How do I select bound functions with as 'as' name in the column

Robert Rothenberg robrwo at gmail.com
Fri Mar 8 14:05:19 GMT 2013


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.

I get the error

   ERROR:  column "distance_from_location" does not exist

Ok. It's not generating an 'as' in the SQL statement.

The examples in the DBIx::Class POD all deal with common functions, e.g.

  { count => 'cds.cdid', -as => 'amount_of_cds' }

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



More information about the DBIx-Class mailing list