What Travis said :)

2009/6/30 Travis L <[email protected]>

>
> Carlos is right, but he was a little implicit in his answer.
>
> The short answer is that the Agency belongsTo Seller means that each
> agency belongs to only one seller.  It wants a seller_id field in the
> agency table (which is how the relationship is linked).
>
> From what I understand, you want the Seller to belongTo an agency (so
> sellers table will need an agency_id in it), and you want the agency
> model to contain a hasMany sellers relationship (necessitating an
> agency_id foreign key in the sellers table).  So try the hasMany.
>
> BTW, you only need to define the relationships both ways if you need
> to access things in the opposite direction.  So, you could do a
> sellers belongsTo agency, but you don't necessarily need the opposite
> relationship UNLESS you want to retrieve associated sellers during a
> query on the agency model.  But it's a good practice to do so, because
> the database cost to crosslink the two is only one more INT field.
>
> If you need the capability for a seller to belong to many agencies,
> you'll need the HABTM.  Which will require a join table
> (agencys_sellers).  And it will likely mean you'll need the
> Containable behavior in some of your stuff too.
>
> On Jun 30, 7:36 am, Carlos Gonzalez Lavin <[email protected]>
> wrote:
> > How about:
> > *Seller Model:
> > *
> > *belongsTo agency*
> > *
> > *
> > *Agency Model:
> > **hasMany seller*
> > *
> > *
> > Because Agency doesn't really belong to the seller... an agency has many
> > sellers (if I understand you correctly) and a seller belongs to an agency
> >
> > 2009/6/30 Bryan Paddock <[email protected]>
> >
> >
> >
> > > Hey JD,
> >
> > > Ah... I'm confused as to why I would need a HABTM and a join table for
> > > a fairly simple relationship.
> >
> > > example of the structure:
> >
> > > Seller.id
> > > Seller.name
> > > Seller.agency_id
> > > etc
> >
> > > and
> >
> > > Agency.id
> > > Agency.name
> > > etc
> >
> > > Each seller can only belong to one agency.
> > > Each agency can have any number of sellers.
> >
> > > I've defined $hasOne and $belongsTo but cake complains that there is
> > > no agency.seller_id field which is correct because that would imply
> > > that each agency can only have one seller.
> >
> > > Hmmmmm.....
> >
> > > On Mon, Jun 29, 2009 at 8:25 PM, JD Daniels<[email protected]>
> wrote:
> > > > You need to look at hasAndBelongsToMany
> >
> > > >http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM
> >
> > > > Bryan Paddock wrote:
> >
> > > > Argh.. I hate gmail shortcut keys.
> >
> > > > Anyways continuing mail:
> >
> > > > Heya all,
> >
> > > > Theres something I'm not doing right here...
> >
> > > > I have a User model which has one Seller model linked to it which in
> > > > turn can have an Agency model linked to it.
> >
> > > > User Model:
> > > > hasOne seller.
> >
> > > > Seller Model:
> > > >  belongsTo user
> >
> > > > Agency Model:
> > > > belongsTo seller
> >
> > > > Now when I call $this->User->find('all') it complains that there is
> no
> > > > foreign key in the agency table. That would be impossible because
> then
> > > > that would mean only one agency can belong to one seller.
> >
> > > > How do I set it up so that any number of agencies can belong to any
> > > > number of sellers? I'm missing something really stupid here....
> >
> > > > Thanks!
> >
> > > > Bryan
> >
> > > > On Mon, Jun 29, 2009 at 7:06 PM, Bryan Paddock<
> [email protected]>
> > > > wrote:
> >
> > > > Heya all,
> >
> > > > Theres something I'm not doing right here...
> >
> > > > I have a User model which has one Seller model linked to it which in
> > > > turn can have an Agency model linked to it.
> >
> > > > User Model:
> > > > hasOne seller.
> > > > Seller Model: belongsTo user
> > > > Agency Model: belongsTo seller
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to