i cant get the join to work for the dbix class. below are my 2 tables - i have removed the unnecessary columns. I am trying to perform the SQL query: "select * from image_folder as f, image_description as d where f.name = 'japan' and f.id=d.folder_id". i have tried following the dbix documentation to no avail. any suggestions?
package WorldTravelBlog::Model::DB::ImageDescription;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("Core");
__PACKAGE__->table("image_description");
__PACKAGE__->add_columns(
"id",
{ data_type => "INT", default_value => undef, is_nullable => 0, size
+ => 11 },
"folder_id",
{ data_type => "INT", default_value => undef, is_nullable => 0, size
+ => 11 },
"name",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 64,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->belongs_to(
"folder_id",
"WorldTravelBlog::Model::DB::ImageFolder",
{ id => "folder_id" },
);
1;
package WorldTravelBlog::Model::DB::ImageFolder;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("Core");
__PACKAGE__->table("image_folder");
__PACKAGE__->add_columns(
"id",
{ data_type => "INT", default_value => undef, is_nullable => 0, size
+ => 11 },
"name",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 64,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->has_many(
"image_descriptions",
"WorldTravelBlog::Model::DB::ImageDescription",
{ "foreign.folder_id" => "self.id" },
);
1;