On Mon, Jun 18, 2007 at 11:03:53AM -0400, Christopher H. Laco wrote:
> >> On Sat, 16 Jun 2007, Richard Robinson wrote:
> >>
> >>> Since I don't know in advance what keys it might meet, I can't create all
> >>> the possible columns beforehand ...
> > 
> > for (my $n = 0; $n < $q->{NUM_OF_FIELDS}; $n++)
> > { my $name = $q->{NAME}->[$n];
> >   next if ( $src->has_column($name) );
> >   $src->add_column( $name );
> >   # column 'T' exists and is seen here.
> > }
> 
> Sorry. I'm late to the party. I add/remove columns at runtime in Handel.
> To make that work, I had to add columns to the source AND to the class:
> 
> $schema->source('Foo')->add_column
> $schema->class('Foo')->add_column
> 
> If would work for me no other way, which isn't surprising because the
> original intent of add_column was not to do it at runtime.
> 
> In your loop above, try adding to the class as well just to see if it
> makes a difference.

Aha. Yes, it does the trick, the ->name form now returns the value instead
of blowing up. Thanks.

It's still a horribly-designed kludge, but at least it behaves as I'd
thought it would. This is progress.


-- 
Richard Robinson
"The whole plan hinged upon the natural curiosity of potatoes" - S. Lem


_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to