[html-formfu] Request advice RE FormFu and join tables
Moritz Onken
onken at houseofdesign.de
Tue Apr 14 08:15:45 GMT 2009
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 at lists.scsys.co.uk
> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu
More information about the HTML-FormFu
mailing list