Thanks, I will give this a shot.

Quick question:

Is it customary to set both $hasMany/One AND $belongsTo? It seems
somewhat redundant.

Thanks,

Shane

On Jun 4, 2:03 pm, Joshua Benner <[EMAIL PROTECTED]> wrote:
> Remeber, has(One|Many) means "The other table points to me," and belongsTo 
> means "I point to the other table." I would define the models something like 
> this (assume fields basically same as you said):
> User:
>     hasMany Items
> Item:
>     belongsTo User
>     hasMany Trades
> Trade:
>     belongsTo Item1
>     belongsTo Item2
> Personally, I would not put the users in the trades table, but that may make 
> things more easy in the code, depending on your approach to some things.
> CODE:
> class User extends AppModel {
>     var $name = 'User';
>     var $hasMany = array( 'Item' => array( 'className' => 'Item' ) );
> }
> class Item extends AppModel {
>     var $name = 'Item';
>     var $belongsTo = array( 'User' => array( 'className' => 'User' ) );
>     var $hasMany = array( 'Trade' => array( 'className' => 'Trade' ) );
> }
> class Trade extends AppModel {
>     var $name = 'Trade';
>     var $belongsTo = array( 'Item1' => array( 'className' => 'Item', 
> 'foreignKey' => 'item1' ),
>                             'Item2' => array( 'className' => 'Item', 
> 'foreignKey' => 'item2' ));
> }
> In my experience (take with grain of salt), when retrieving Trade rows with 
> find/findAll with a recursive setting of 3 (possibly 2?), you should have 
> result rows that look something like this:
> Array
> (
>     [Trade] => Array
>        (
>           ... normal trade fields ...
>        )
>     [Item1] => Array
>        (
>           ...item fields...
>           [User] => Array
>              (
>                 ...user fields...
>              )
>        )
>     [Item2] => Array
>        (
>           ...item fields...
>           [User] => Array
>              (
>                 ...user fields...
>              )
>        )
> )
> Shane B wrote:So I am no DBA, and this is my first CakePHP app, still 
> learning the ins and outs, maybe there is an easy way to do this.. Here is 
> the setup: Assume these psudo-tables: Users --------- id - pk username 
> password email name Items --------- id - pk user_id - fk title description 
> status And the idea of the site is that people put items up, and can trade 
> them, so i'd like a trades table to keep track of live trades in progress. So 
> essentially I need: Trades ---------- id - pk item1 item2 user1 user2 status 
> HOWEVER, I'd like to use foreign keys instead of the item1 and 2 to more 
> easily work with the data and to allow it to bake correctly. The catch here 
> though is that this would work perfectly with 1 item since I could just 
> associate using item_id, though I can't have TWO item_id fields so how will I 
> reference to unique items in the same table? Also, correct me if I'm wrong 
> but I probably don't even need user1 and 2 since they're associated in the 
> Items table already. Is there any easy way to do this in CakePHP so that bake 
> should work? I read but did not completely comprehend the $hasMany var in the 
> Model chapter of the manual, might this be the key to figuring this out? Any 
> help would be appreciated. I bring this up not only for this project, but to 
> learn how to do things RIGHT with CakePHP, for future projects as well. 
> Thanks.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" 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