On 17 April 2012 15:57, Robyn Jonahs <learn.catal...@gmail.com> wrote: > On Tue, Apr 17, 2012 at 10:41 AM, Carl Franks <fireart...@gmail.com> wrote: >> >> On 17 April 2012 14:33, Robyn Jonahs <learn.catal...@gmail.com> wrote: >> > Hi, >> > >> > I am using Catalyst 5.90011 with HTML::FormFu::Model::DBIC and mysql >> > >> > I am having a problem where I can't get the default value set in mysql >> > and >> > also in my Catalyst Schema::Result to get inserted into the database. It >> > sticks >> > a null value in rather than my default value. For example, this is a >> > checkbox >> > >> > In the Schema::Result::File.pm >> > >> > "trip", >> > { data_type => "tinyint", default_value => 0, is_nullable => 1 }, >> > >> > In the YAML form definition >> > # Trip? >> > - type: Checkbox >> > name: trip >> > label: Trip Expense? >> > >> > I get an empty checkbox with a new form, but if I don't check it, then >> > it >> > gets set in the database as Null >> > >> > If I check it and uncheck it, it gets put into the database as Null >> > >> > If I check it, it gets put in the database as 1 >> > >> > Why won't it insert the default value of 0? >> >> I think this would be fixed by either setting the DBIC column to >> is_nullable => 0 >> or by adding a "default: 0" to the formfu element definition. >> >> If you don't want to change is_nullable, and the "default: 0" alone >> doesn't work, try also adding "retain_default: 0" - it's been a long >> time since I've used this stuff, and can't remember all the details. >> >> Carl >> >> _______________________________________________ >> HTML-FormFu mailing list >> HTML-FormFu@lists.scsys.co.uk >> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu > > > Ah, thanks. That fixed it. > > I set it to not null in the mysql definition for the column and left the > FormFu YAML alone. > This of course set the schema result correctly after I used the create > script to update. > > I had removed those not nulls since I thought that default would take care > of setting > a value and thought it was not required and was redundant.
No problem. HTML::FormFu::Model::DBIC actually checks the column spec, and only sets unchecked checkboxes to zero if it's not_nullable, otherwise it assumes you set it to nullable for a good reason. Carl _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu