[html-formfu] Still missing some parts of the picture in
HTML::FormFu::Model::DBIC
Alex Povolotsky
tarkhil at over.ru
Sun Mar 14 15:24:03 GMT 2010
On 03/14/10 12:43, Carl Franks wrote:
> 2010/3/13 Alex Povolotsky<tarkhil at over.ru>:
>
>> Hello!
>>
>> I'm still missing some essential parts of DBIx interaction.
>>
>> I have two simple tables
>>
>> CREATE TABLE country (id serial primary key, name varchar(128) not null);
>> CREATE TABLE location (name varchar(128) primary key, country_id int not
>> null references country(id));
>>
> Hi,
>
> Can you post the DBIx::Class schema definitions - in particular, the
> relationship definitions?
>
>
Nothing classified )))
=== Location.pm ===
package Tourism::Schema::Result::Location;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("InflateColumn::DateTime", "Core");
__PACKAGE__->table("location");
__PACKAGE__->add_columns(
"id",
{
data_type => "integer",
default_value => "nextval('location_id_seq'::regclass)",
is_nullable => 0,
size => 4,
},
"name",
{
data_type => "character varying",
default_value => undef,
is_nullable => 0,
size => 128,
},
"country_id",
{ data_type => "integer", default_value => undef, is_nullable => 0,
size => 4 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("location_pkey", ["id"]);
__PACKAGE__->has_many(
"hotels",
"Tourism::Schema::Result::Hotel",
{ "foreign.location" => "self.id" },
);
__PACKAGE__->belongs_to(
"country_id",
"Tourism::Schema::Result::Country",
{ id => "country_id" },
);
# Created by DBIx::Class::Schema::Loader v0.04006 @ 2010-03-14 11:40:59
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1E2rHbISqChwWkdBo3IpnA
1;
=== Location.pm ===
=== Country.pm ===
package Tourism::Schema::Result::Country;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("InflateColumn::DateTime", "Core");
__PACKAGE__->table("country");
__PACKAGE__->add_columns(
"id",
{
data_type => "integer",
default_value => "nextval('country_id_seq'::regclass)",
is_nullable => 0,
size => 4,
},
"name",
{
data_type => "character varying",
default_value => undef,
is_nullable => 1,
size => 128,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("country_pkey", ["id"]);
__PACKAGE__->add_unique_constraint("country_name_key", ["name"]);
__PACKAGE__->has_many(
"directions",
"Tourism::Schema::Result::Direction",
{ "foreign.country" => "self.id" },
);
__PACKAGE__->has_many(
"locations",
"Tourism::Schema::Result::Location",
{ "foreign.country_id" => "self.id" },
);
__PACKAGE__->has_many(
"tourists",
"Tourism::Schema::Result::Tourist",
{ "foreign.citizenship" => "self.id" },
);
# Created by DBIx::Class::Schema::Loader v0.04006 @ 2010-03-14 11:40:59
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:leLBKTHMucr27LwnCnP0SA
=== Country.pm ===
=== location.yml ===
---
model_config:
resultset: Location
elements:
- type: Label
label: Location
- type: Text
name: name
label: Name
constraints:
- Required
- type: ComboBox
empty_first: 1
empty_first_label: -select-
label: Country
name: country_id
model_config:
resultset: Country
label_column: name
constraints:
- Required
- type: Submit
name: submit
=== location.yml ===
Seems to be rather primitive.
Alex.
More information about the HTML-FormFu
mailing list