[html-formfu] HTML::FormFu and many-to-many model
Alex Povolotsky
tarkhil at over.ru
Tue Apr 1 12:07:35 BST 2008
Zbigniew Lukasiak wrote:
> On Tue, Apr 1, 2008 at 12:13 PM, Alex Povolotsky <tarkhil at over.ru> wrote:
>
>> Zbigniew Lukasiak wrote:
>> > On Mon, Mar 31, 2008 at 4:44 PM, Alex Povolotsky <tarkhil at over.ru> wrote:
>> >
>> >> Hello!
>> >>
>> >> Can someone please provide me with working example of many_to_many
>> >> relationship with HTML::FormFu config file?...
>> >>
>> >
>> > Have a look at the t directory :)
>> >
>>
>> Looked. Got some problems.
>>
>> First of all, HTML::FormFu assumes that fields to join are named
>> different in different tables.
>>
>> For instance,
>>
>> table alarm (alid primary key, name text)
>> table abonent (abid primary key, name text)
>> table a_to_a (alid references alarm(alid), abid references abonent(abid))
>>
>> with standard DBIx::Class::Schema classes (autogenerated by Catalyst
>> helper) yields
>>
>> SELECT abid FROM a2a me JOIN abonent abid ON ( abid.abid = me.abid )
>> WHERE ( me.alid = ? ): '1'
>>
>> which fails with error on Postgres.
>>
>> Well, I've changed table definitions, and
>>
>> (1) I do not understand how to specify text field
>> (2) why do I get empty select and no attempt to extract anything from
>> abonents table
>>
>>
>
> Please try to write a test case - this looks like an important bug -
> but it's very hard to guess what is really failing. First verify it
> if is really a PostgreSQL thing - check if the same schema works in
> SQLite.
> \
Well, I've added print $form->render to
t/defaults_from_model/many_to_many_select.t
Got empty select. And (potentially) incorrect select. Something must be
wrong.
Try
env DBIC_TRACE=2 perl t/defaults_from_model/many_to_many_select.t
to get
SELECT id FROM user_band me JOIN band band ON ( band.id = me.band )
WHERE ( me.user = ? ): '2'
instead of
SELECT band.id FROM user_band me JOIN band band ON ( band.id = me.band
) WHERE ( me.user = ? ): '2'
Alex.
More information about the HTML-FormFu
mailing list