Yes, definitely change that relationship name, evne if it's just for
your sanity: saying that something belongs to an account_id makes no
sense and makes the code unintuitive.
To be honest, I'd ditch the Schema::Loader generated stuff at some
point. It's great to get started with the project but I just found that
it's much more trouble than it's worth in the long run to try and keep
the files in a state that can be auto-updated by the Schema::Loader,
especialyl once you are at a point where the schema becomes more stable
anyway.
Frank
On 08/05/12 16:54, Kenneth S Mclane wrote:
Here are the two relationships predefined in the account.pm file:
__PACKAGE__->belongs_to(
"account_id",
"dbms::Schema::Result::Account",
{ account_id => "account_id" },
);
=head2 accounts
Type: has_many
Related object: L<dbms::Schema::Result::Account>
=cut
__PACKAGE__->has_many(
"accounts",
"dbms::Schema::Result::Account",
{ "foreign.account_id" => "self.account_id" },
{},
);
So you're saying I should do this:
__PACKAGE__->belongs_to(
"account",
"dbms::Schema::Result::Account",
{ account_id => "account_id" },
);
?
From: Will Crawford <[email protected]>
To: The elegant MVC web framework <[email protected]>
Date: 05/08/2012 10:49 AM
Subject: Re: [Catalyst] Getting hashref instead of value
------------------------------------------------------------------------
On 8 May 2012 16:44, Kenneth S Mclane <[email protected]_
<mailto:[email protected]>> wrote:
The Catalyst helper script created most of the relationships. I added a
few at the bottom of the Account.pm file to since there are a bunch of
them based on "account_id", so I made them myself and gave them
different names. progress, metrics, compliance are ones I did. the one
called "department_id" was created by the helper and I didn"t want to
chang it. I guess I could redefine it below with a different name.
Strangely, the account table has a belongs to AND a has many to itself
based on the account_id field. I am actually looking to get a list nad
that is what I get except for the one field.
Basically you just need to rename the relationship to call the accessor
"account" instead of "account_id", so that .account_id refers to the raw
ID column, not the object._______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/
--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/