Finding my way around, I thought I'd ask for advice before getting myself in too much trouble ;-)
I have several sets of parent / child / join tables in which both the "parent (has many and many-to-many)" and "child (belongs to)" tables are managed separately, and only the join tables need to be updated; e.g. , users, roles, user_roles; projects, directories, project_directories. I am wondering how to configure forms so that inserts, updates, deletes go to the join tables? Or is it best to "hand roll" parameter value capturing and database interactions. In HTML::FormFu::Model::DBIC I see examples showing yaml configurations for updating tables that are related to one another -- via foreign keys, but I'm not sure how to apply the example logic to my situation. For example, I have a form that has two Selects: projects and directories. The user will select one project, and could select multiple directories. Both Projects and Directories tables are prepopulated, so only the projects_directories join table needs to be modified. Let me paste some bits from the three tables, snipped for brevity: =============================== package hde::Schema::Result::Projects; __PACKAGE__->table("projects"); __PACKAGE__->add_columns( "id", { data_type => "INTEGER", is_nullable => 0, size => undef }, "rel_tag", { data_type => "TEXT", is_nullable => 0, size => undef }, __PACKAGE__->has_many(map_project_directory => 'hde::Schema::Result::ProjectDirectories', 'directory_id'); __PACKAGE__->many_to_many(directories => 'map_project_directory', 'directory'); =============================== package hde::Schema::Result::Directories; __PACKAGE__->table("directories"); __PACKAGE__->add_columns( "id", { data_type => "INTEGER", is_nullable => 0, size => undef }, "directory", { data_type => "TEXT", is_nullable => 0, size => undef }, __PACKAGE__->has_many(map_project_directory => 'hde::Schema::Result::ProjectDirectories', 'directory_id'); =============================== package hde::Schema::Result::ProjectDirectories; __PACKAGE__->table("project_directories"); __PACKAGE__->add_columns( "project_id", { data_type => "INTEGER", is_nullable => 0, size => undef }, "directory_id", { data_type => "INTEGER", is_nullable => 0, size => undef }, __PACKAGE__->belongs_to(project => 'hde::Schema::Result::Projects', 'project_id'); __PACKAGE__->belongs_to(directory => 'hde::Schema::Result::Directories', 'directory_id'); =============================== Is/are there configuration settings that allow FormFu to easily handle this sort of situation? /dennis
_______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu