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