Yes there is.

Did you read the documentation of HTML::FormFu::Model::DBIC?

moritz

Am 14.04.2009 um 04:45 schrieb Dennis Daupert:

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


_______________________________________________
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