On Thu, Mar 5, 2009 at 8:46 AM, Ascii King <t...@swattermatter.com> wrote:
> For starters, I don't think it is supposed to be "schema = DB", just > "schema DB" > > <Controller::HTML::FormFu> > <model_stash> > schema DB > </model_stash> > </Controller::HTML::FormFu> > > Also, could you show us the may_have line that sets up the 'debits' > relationship? I meant might_have, not may_have, and here it is: In MyApp::DB::Result::Account : __PACKAGE__->might_have( 'debits' => 'MyApp::Schema::DB::Result::Debit', 'account_id' ); Where both the Account and Debit Tables have an account_id field. It's definitely walking this relationship, because my form is loading the "something" and "something_else" values. It's just not going that extra step and loading all the related debit_items for that debit. In case you are curious, that is set up like so: in MyApp::DB::Result::Debit : __PACKAGE__->has_many( 'debit_items' => 'MyApp::Schema::DB::Result::DebitItems', 'debit_id' ); Where both Debit and DebitItems table have a debit_id column. This is where it breaks. For my example, there is a row with debit_id 1 in Debit, and 3 rows in DebitItems with a debit_id of 1 that should match up. Those three rows are not being loaded from the database. It's not even giving me 3 empty rows. Should DB in my myapp.conf be DB::Result, instead, since all my table files are MyApp::Schema::DB::Result::xxx? I've tried that, too, and it doesn't seem to make a difference. My controller has the following: sub testing :FormConfig('MyApp/myapp_base.yml') :PathPart('testing') Chained('/') Args(0) { my ($self, $c) = @_; my $form = $c->stash->{'form'}; if ($form->submitted_and_valid) { $form->model->update([still trying to figure out what to put here but my first concern is getting loading working]); } else { $form->model->default_values($c->model('DB::Account')->find(1)); } } Obviously I'll make it a bit more dynamic later on, but this is just for testing purposes with some dummy data in the db. Please let me know if there's anything else I can tell you that would make it easier for you to figure out (except of course the original code, since that's proprietary) Thanks. > > Leanan Sidhe wrote: > >> I'm attempting to make use of the $form->model->default_values and >> $form->model->update methods. Everything except for my repeatables are >> loading from the db, and I am at a loss as to why this is. My guess is that >> either 1) What I want to do cannot currently be done, or 2) I'm missing >> something simple, but important. Here's an example of what I am trying to >> do: >> >> >> I have something along the following for my tables: >> >> MyApp::DB::Result::Account: >> - A may_have for MyApp::DB::Result::Debit, named debits >> >> MyApp::DB::Result::Debit >> - A belongs_to for MyApp::DB::Result::Account, named account >> - A has_many for MyApp::DB::Result::DebitItems, named debit_items >> >> MyApp::DB::Result::DebitItems >> - A belongs_to for MyApp::DB::Result::Debit, named debit >> >> myapp.conf has: >> name MyApp >> <Controller::HTML::FormFu> >> <model_stash> >> schema = DB >> </model_stash> >> </Controller::HTML::FormFu> >> >> (I'm not sure if that is right. I've tried MyApp::Model::DB, and >> MyApp::Schema::DB -- Model::DB lists the connection string, Schema::DB is >> the one with the load_namespaces) >> >> My form config has a base config file that loads a bunch of sub config >> files. In one of the sub configs where I'm trying to get this working I >> have something like this: >> >> --- >> elements: >> nested_name: debits >> elements: >> - type: Block >> tag: table >> .... (lots of stuff building out the headers, etc. Then I finally >> get to the rows) >> - type: Block >> tag: tbody >> elements: >> - type: Repeatable >> nested_name: debit_items >> elements: >> - type: Block >> ... (lots of stuff building out the row I want repeated) >> >> >> >> When I load the form, I do >> $form->model->default_values($c->model('DB::Account')->find(1)); >> >> The portion of the form that is not in the repeatable section loads fine. >> I'll have things like debits.something, debits.soemthing_else (where I have >> something and something_else columns in the debit table) All the data for >> those fields loads from the database just fine. >> The form builds out a table with one empty row, where the names are >> debits.debit_item.value, debits.debit_item.date, etc etc (where I have value >> and date columns in the debititems table). However, the fields aren't >> populated from the database. >> >> As far as I can tell I've got everything right, but obviously I don't >> because it just doesn't work. Is this possible, or am I dreaming? If it's >> possible, what am I messing up? >> >> Thank you! >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> 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 >
_______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu