Hi, I have troubles with formfu checkboxgroup/DBIx. I build a very simple
example of standard category = product mapping in Catalyst 5.90016. ( Same
problem I got with earlier versions of all components )

The following example shows all the selected "categroies" ( e.g. content in
the example ) but throws exception when trying to save. Seems like DBIx
doesn't pass the schemaname ( 'page_content_map' instead of
'web.page_content_map' ) or perhaps is it somehow connected with perlbrew
... ? I have build the model with 'qualify_objects=1 db_schema=SCHEMANAME'
and the correct prefix is in all models and resultsets.

Also all methods work perfectly in the controller ( $object->content
returns array of resultsets as expected ) Why it doesn't work in the form,
I can't understand.

 Thanks for any help in advance.

Follows the declaration of the 3 tables + yml + DBI exception.

__PACKAGE__->table("web.page"); __PACKAGE__->has_many( "page_content_maps",
"Web::Schema::Result::PageContentMap", { "foreign.page_id" => "self.id" },
{ cascade_copy => 0, cascade_delete => 0 }, ); __PACKAGE__->many_to_many(
'content' => 'page_content_maps', 'content' );
__PACKAGE__->table("web.content"); __PACKAGE__->has_many(
"page_content_maps", "Web::Schema::Result::PageContentMap", {
"foreign.content_id" => "self.id" }, { cascade_copy => 0, cascade_delete =>
0 }, ); __PACKAGE__->many_to_many( 'page' => "page_content_maps", 'page' );
__PACKAGE__->table("web.page_content_map"); __PACKAGE__->belongs_to(
"content", "Web::Schema::Result::Content", { id => "content_id" }, {
is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, );
__PACKAGE__->belongs_to( "page", "Web::Schema::Result::Page", { id =>
"page_id" }, { is_deferrable => 1, on_delete => "CASCADE", on_update =>
"CASCADE" }, );



edit.yml given an existing entry of model Web::Page as default model:
............... - type: Checkboxgroup name: content label: Content
model_config: model: 'Web::Content' ............




The Exception:

DBI Exception: DBD::Pg::st execute failed: ERROR: relation *
"page_content_map"* does not exist LINE 1: DELETE FROM "page_content_map"
WHERE ( "page_id" = $1 ) ^ [for Statement "DELETE FROM "page_content_map"
WHERE ( "page_id" = ? )" with ParamValues: 1='2'] at
/home/bugsy/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1/DBIx/Class/Schema.pm
line 1101.
_______________________________________________
HTML-FormFu mailing list
HTML-FormFu@lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu

Reply via email to