[Dbix-class] DBIX::Class - CGI::FormBuilder select-options problem

Igor Longagnani i.longagnani at synervis.it
Tue Dec 12 12:48:42 GMT 2006


Hi,
i am a newbie with DBIx::Class and Catalyst so i beg your pardon in
advance for my question:

I do use with success DBIx::Class in other situations (easy ones) and
I am trying to populate the option fields of a "select tag" named
"soggetto" described through CGI::Formbuilder
with data selected from an Oracle DB via DBIx::Class/Catalyst webapp
runinng on catalyst developement server on port 3000.
This is what doesn't work, i mean syntax is correct but output not what
i excpected:

Inside a Catalyst Controller class:

my @data =3D $c->model('myDB::AnaEsercenti')->search(undef,{select =3D>
[qw/userid name/]})->all();
$c->form->options({ soggetto  =3D> \@data});

I get the following (from HTML source page) build through a Template
Toolkit tag [%  form.fieldrefs.soggetto.tag %]

<select class=3D"fb_select" id=3D"soggetto" name=3D"soggetto">
  <option value=3D"">-select-</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4215d64)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4216544)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4216760)</option>

  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421697c)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4216b98)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421b440)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421b65c)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421b878)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421ba94)</option>

  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421bcb0)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421becc)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421c0e8)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421c304)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421f934)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421fb50)</option>

  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421fd6c)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x421ff88)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42201a4)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42203c0)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42205dc)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4223a5c)</option>

  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4223c78)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4223e94)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42240b0)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42242cc)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x42244e8)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4224704)</option>

  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4224920)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4227f48)</option>
  <option>myApp::Model::myDB::AnaEsercenti=3DHASH(0x4228164)</option>
  </select>


I know data is present because i enabled the debugger and through
$c->log->debug and Data::Dumper
i was able to find these kind of data structure for every record

  bless( { "result_source" =3D>
$c->form->{"options"}{"soggetto"}[0]{"result_source"},
                "_in_storage" =3D> 1,
                "_column_data" =3D> {
                                                 "cognome" =3D> undef,
                                                 "userid" =3D> 99700001
                                                    }
  }, 'myApp::Model::myDB::AnaUtenti' ),


but i couldnt find a proper, already existing method to extract that
"_column_data " data :)

I know am doing somethig wrong and i am doing my own micro-sub to
extract them
but  i am sure i am missing something important.

Environment in WinXP is fully functional ( i don't get installation
errors nor excution ones except when i make syntax errors myself)
and  is mainly composed by:
- Catalyst 5.7006
- DBIx::Class
- Template Toolkit
- CGI::FormBuilder
in their latest versions.

Thanks in advance for your precious efforts.

Igor Longagnani

-- =

Igor Longagnani c/o Synervis - http://www.synervis.it


-------------- next part --------------
A non-text attachment was scrubbed...
Name: i.longagnani.vcf
Type: text/x-vcard
Size: 159 bytes
Desc: not available
Url : http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20061212/bf=
0c90dc/i.longagnani.vcf


More information about the Dbix-class mailing list