[Catalyst] Getting hashref instead of value

Frank Schwach fs5 at sanger.ac.uk
Tue May 8 16:03:05 GMT 2012


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 <billcrawford1970 at gmail.com>
> To: 	The elegant MVC web framework <catalyst at lists.scsys.co.uk>
> Date: 	05/08/2012 10:49 AM
> Subject: 	Re: [Catalyst] Getting hashref instead of value
>
>
> ------------------------------------------------------------------------
>
>
>
>
>
> On 8 May 2012 16:44, Kenneth S Mclane <_ksmclane at us.ibm.com_
> <mailto:ksmclane at us.ibm.com>> 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: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
>
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> 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. 



More information about the Catalyst mailing list