Jacopo

THANKS!  I now grok this all fully.

Skip

-----Original Message-----
From: Jacopo Cappellato [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 09, 2007 8:36 AM
To: [email protected]
Subject: Re: Still no response


Skip,

I think that Scott already answered to your question... by the way:

in most cases the relation name is just the name of the related entity
name: in your example "PaymentMethod".
Sometimes there are more than one fields in the same entity that are
related to the same entity. In this situation, in the entity definition
you have to specify a "title" attribute together with the
rel-entity-name attribute.

Have a look, for example, to the relations from the ProductAssoc entity:

https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=Produ
ctAssoc

as you can see, both "productId" and "productIdTo" are related to the
same entity "Product", so here you have to specify a title prefix:

// ProductAssoc.productId --> Product.productId
producAssoc.getRelatedOne("MainProduct");

// ProductAssoc.productIdTo --> Product.productId
producAssoc.getRelatedOne("AssocProduct");

Jacopo


[EMAIL PROTECTED] wrote:
> I asked this question yesterday, but got no response.  Is there someone
out
> there with entity engine knowledge?
>
> I have this bit of code:
>
>             GenericValue payment = delegator.findByPrimaryKey("Payment",
> UtilMisc.toMap("paymentId", paymentId));
> ...
>             GenericValue paymentMethod =
> payment.getRelatedOne("PaymentMethod");
>
> The javadoc for getRelatedOne sez:
>
> Parameters:
>     relationName - String containing the relation name which is the
> combination of relation.title and relation.rel-entity-name as specified in
> the entity XML definition file.
>
> I did not quite understand this statement as it does not seem to make
sense
> in this context.  Is this parameter a concatination of "Payment" and
> "Method" where Payment is the relation.title and Method is the
> relation.rel-entity-name?
>
> I kinda dont think so.  I looked in the entitydef file containg Payment
and
> found this:
>
>       <relation type="one" fk-name="PAYMENT_PMETH"
> rel-entity-name="PaymentMethod">
>         <key-map field-name="paymentMethodId"/>
>       </relation>
>
> So, I am assuming that this particular getRelatedOne call is going to open
> the PaymentMethod entity and find the related "paymentMethodId" record.
>
> Is this correct?
>
> Also, if I see a yyy.getRelatedOne(xxx), can I assume that xxx is the
entity
> name to look in and xxxId is the key name in xxx always?
>
> Thanks
>
> Skip



Reply via email to