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