Jorge Augusto Senger wrote:
Hi list,

I need some advice regarding repeatable elements. I've the following database structure:

Table "clients": cli_id*, cli_name
Table "clients_tests": cli_id*, tst_id*, tst_result
Table "tests": tst_id*, tst_name

So, in my clients form, I'd like to have a "tst_result" for each test, like this:

Client ID: [ input field for id ]
Client Name: [ input field for name]
Test A: [ input field for result ]
Test B: [ input field for result ]
Test C: [ input field for result ]

How can I do this configuration using repeatable fields?
You need to set up your has_many relationship between your tables first. You would need to set up a has_many relationship in your Clients.pm. __PACKAGE__->has_many(client_tests => 'MyApp::Schema::Result::ClientTests', 'cli_id');

Then, in your .yml  configuration file:

# THECOUNT --
   - type: Hidden
     name: tests_count

# ** REPEAT CLIENT_TESTS --
   - type: Repeatable
     nested_name: client_tests
     counter_name: tests_count
     model_config:
       empty_rows: 1  <- Up this number to the number of tests you want
       new_rows_max: 100
     elements:

# CLI_ID --
     - type: Hidden
       name: cli_id

# TST_NAME --
     - type: Select
       name: tst_name
       model_config:
         resultset: Tests  <- name of your tests table
         id_column: tst_id
         label_column: tst_name
       empty_first: 1

# TST_RESULT --
     - type: Text
       name: tst_result

Hope that helps. I'm a bit of a newb with this, so I hope it is accurate.

_______________________________________________
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