One simple thing I'd suggest is the naming of the fields team2_id does
not tell me wether the trade is from or to this team.
Something like from_team_id and to_team_id would make their role more
obvious. At least imagine that is what a trade is in baseball... if
they are always a bidirectional exchange then your team1 team2 would
be fine.

You can do the linking in this way:
var $belongsTo = array(
        'FromTeam' => array(
            'className'    => 'Team',
            'foreignKey'    => 'from_team_id'
        )
);
var $belongsTo = array(
        'ToTeam' => array(
            'className'    => 'Team',
            'foreignKey'    => 'to_team_id'
        )
);
Your trade would now belong to two teams detified by their role in the
transaction.

For a bidirectional association I am not sure this kind of belongTo
would find both teams (since it probably expects a single record).
var $belongsTo = array(
        'Team' => array(
            'className'    => 'Team',
            'foreignKey'    => false,
            'conditions'     => 'Team.id = Transaction.team1_id OR
Team.id = Transaction.team2_id'
        )
);

You could probably do something similar using a hasMany or something
if you had to.



On Oct 1, 3:12 am, James <[EMAIL PROTECTED]> wrote:
> I'm setting up a database that includes tracking of trades of baseball
> teams. For the teams table I have:
>
> CREATE TABLE teams (
>         id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
>         city VARCHAR(13),
>         name VARCHAR(12),
>         abbreviation VARCHAR(3)
> );
>
> I get lost when creating the trades table how do I set it up so
> there's two foreign keys to the teams table? I'm trying to achieve
> something along the lines of this:
>
> CREATE TABLE trades (
>         id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
>         team2_id INT UNSIGNED NOT NULL,
>         team1_id INT UNSIGNED NOT NULL
> );
--~--~---------~--~----~------------~-------~--~----~
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