Re: Connecting Two HABTM Tables

2008-01-22 Thread david_setwise

Doesn't CakePHP 1.2 support additional fields in a HABTM table?

David

On Jan 21, 6:15 pm, Ponderosa - Lists
[EMAIL PROTECTED] wrote:
 Your colors_shirts_sizes table should be a new table/model inventory.

 Inventory
 - id
 - shirt_id
 - size_id
 - color_id
 - inventory_qty
 ... any other inventory information needed such as location etc.

 As soon as you need more than just the cross reference id's in the table
 (like your inventory quantity) it needs to be its own model.

 Danielle

 -Original Message-
 From: cake-php@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf

 Of david_setwise
 Sent: January 21, 2008 3:03 PM
 To: Cake PHP
 Subject: Connecting Two HABTM Tables

 Here is a potential situation in which it seems like two HABTM tables
 should be connected.  So, am I incorrect in my table structure.  If
 not, can Cake handle connecting two HABTM tables?

 The system in question deals with clothing.  So imagine shirts of
 various types that can have multiple sizes and colors, with the
 ability to track inventory.

 The first HABTM is fairly straight forward: Colors  Colors_Shirts 
 Shirts

 But if I want to add in sizes, with an inventory for each combination
 (Plain T-shirt, Green, Size Medium, inventory 20) it get complicated.
 I envision the correct database structure/relationship as having the
 Sizes table connected to the Colors_Shirts table with a HABTM
 relationship, in which the inventory is stored.

 Colors_Shirts  Colors_Shirts_Sizes (with field for inventory)  Sizes

 So, is this the way you would structure the database?  If so, can Cake
 handle such a relationship?  And if not, does anyone have a decent
 alternative?

 Colors
  - color_id
  - name

 Shirts
  - shirt_id
  - name
  - description

 Sizes
  - size_id
  - shortCode

 Colors_Shirts
  - color_id
  - shirt_id

 Colors_Shirts_Sizes
  - color_id
  - shirt_id
  - size_id
  - inventory

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Connecting Two HABTM Tables

2008-01-22 Thread AD7six



On Jan 22, 6:25 am, david_setwise [EMAIL PROTECTED] wrote:
 Doesn't CakePHP 1.2 support additional fields in a HABTM table?

 David

Yes, but I doubt that is going to make your life very easy if you try
to administer/user your Colors_Shirts_Sizes table based on that.

Wouldn't your Colors_Shirts_Sizes table be better named
shirt_versions, stocks, inventories or something more descriptive (and
definitely treated as a model)?

You can make use of the 'with' parameter with habtm relationships to
say Shirt habtm Colors 'with' shirt_versions; and shirt habtm sizes
'with' shirt_versions (adding appropriate conditions in both cases,
and DISTINCT somewhere appropriate) if you wanted to.

hth,

AD
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Connecting Two HABTM Tables

2008-01-22 Thread MrTufty

It does, but you still need a model for the link. If I remember
correctly anyway.

I think Danielle is correct here though. Your database structure is
overcomplicated a little - you could achieve the same goal by having:

Size:-
id
size
shortCode

Colour:-
id
colour

Style:-
id
style
description

Stock:-
id
size_id
colour_id
style_id
quantity

With the Stock model being linked to the others via belongsTo. No real
need for a HABTM at all.

Steve


On Jan 22, 5:25 am, david_setwise [EMAIL PROTECTED] wrote:
 Doesn't CakePHP 1.2 support additional fields in a HABTM table?

 David

 On Jan 21, 6:15 pm, Ponderosa - Lists

 [EMAIL PROTECTED] wrote:
  Your colors_shirts_sizes table should be a new table/model inventory.

  Inventory
  - id
  - shirt_id
  - size_id
  - color_id
  - inventory_qty
  ... any other inventory information needed such as location etc.

  As soon as you need more than just the cross reference id's in the table
  (like your inventory quantity) it needs to be its own model.

  Danielle

  -Original Message-
  From: cake-php@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf

  Of david_setwise
  Sent: January 21, 2008 3:03 PM
  To: Cake PHP
  Subject: Connecting Two HABTM Tables

  Here is a potential situation in which it seems like two HABTM tables
  should be connected.  So, am I incorrect in my table structure.  If
  not, can Cake handle connecting two HABTM tables?

  The system in question deals with clothing.  So imagine shirts of
  various types that can have multiple sizes and colors, with the
  ability to track inventory.

  The first HABTM is fairly straight forward: Colors  Colors_Shirts 
  Shirts

  But if I want to add in sizes, with an inventory for each combination
  (Plain T-shirt, Green, Size Medium, inventory 20) it get complicated.
  I envision the correct database structure/relationship as having the
  Sizes table connected to the Colors_Shirts table with a HABTM
  relationship, in which the inventory is stored.

  Colors_Shirts  Colors_Shirts_Sizes (with field for inventory)  Sizes

  So, is this the way you would structure the database?  If so, can Cake
  handle such a relationship?  And if not, does anyone have a decent
  alternative?

  Colors
   - color_id
   - name

  Shirts
   - shirt_id
   - name
   - description

  Sizes
   - size_id
   - shortCode

  Colors_Shirts
   - color_id
   - shirt_id

  Colors_Shirts_Sizes
   - color_id
   - shirt_id
   - size_id
   - inventory
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Connecting Two HABTM Tables

2008-01-22 Thread david_setwise

Doesn't CakePHP 1.2 support additional fields in a HABTM table?

David

On Jan 21, 6:15 pm, Ponderosa - Lists
[EMAIL PROTECTED] wrote:
 Your colors_shirts_sizes table should be a new table/model inventory.

 Inventory
 - id
 - shirt_id
 - size_id
 - color_id
 - inventory_qty
 ... any other inventory information needed such as location etc.

 As soon as you need more than just the cross reference id's in the table
 (like your inventory quantity) it needs to be its own model.

 Danielle

 -Original Message-
 From: cake-php@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf

 Of david_setwise
 Sent: January 21, 2008 3:03 PM
 To: Cake PHP
 Subject: Connecting Two HABTM Tables

 Here is a potential situation in which it seems like two HABTM tables
 should be connected.  So, am I incorrect in my table structure.  If
 not, can Cake handle connecting two HABTM tables?

 The system in question deals with clothing.  So imagine shirts of
 various types that can have multiple sizes and colors, with the
 ability to track inventory.

 The first HABTM is fairly straight forward: Colors  Colors_Shirts 
 Shirts

 But if I want to add in sizes, with an inventory for each combination
 (Plain T-shirt, Green, Size Medium, inventory 20) it get complicated.
 I envision the correct database structure/relationship as having the
 Sizes table connected to the Colors_Shirts table with a HABTM
 relationship, in which the inventory is stored.

 Colors_Shirts  Colors_Shirts_Sizes (with field for inventory)  Sizes

 So, is this the way you would structure the database?  If so, can Cake
 handle such a relationship?  And if not, does anyone have a decent
 alternative?

 Colors
  - color_id
  - name

 Shirts
  - shirt_id
  - name
  - description

 Sizes
  - size_id
  - shortCode

 Colors_Shirts
  - color_id
  - shirt_id

 Colors_Shirts_Sizes
  - color_id
  - shirt_id
  - size_id
  - inventory

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Connecting Two HABTM Tables

2008-01-22 Thread david_setwise

I see you point about making the database structure more simple, and I
like it, but does that make the programming logic a lot more
complicated?  If I add a Style with 20 colors and 4 sizes, do I have
to manually loop through all the potential options to save all the
corresponding Stock records, or can Cake handle that somehow?

David

On Jan 22, 1:11 am, MrTufty [EMAIL PROTECTED] wrote:
 It does, but you still need a model for the link. If I remember
 correctly anyway.

 I think Danielle is correct here though. Your database structure is
 overcomplicated a little - you could achieve the same goal by having:

 Size:-
 id
 size
 shortCode

 Colour:-
 id
 colour

 Style:-
 id
 style
 description

 Stock:-
 id
 size_id
 colour_id
 style_id
 quantity

 With the Stock model being linked to the others via belongsTo. No real
 need for a HABTM at all.

 Steve

 On Jan 22, 5:25 am, david_setwise [EMAIL PROTECTED] wrote:

  Doesn't CakePHP 1.2 support additional fields in a HABTM table?

  David

  On Jan 21, 6:15 pm, Ponderosa - Lists

  [EMAIL PROTECTED] wrote:
   Your colors_shirts_sizes table should be a new table/model inventory.

   Inventory
   - id
   - shirt_id
   - size_id
   - color_id
   - inventory_qty
   ... any other inventory information needed such as location etc.

   As soon as you need more than just the cross reference id's in the table
   (like your inventory quantity) it needs to be its own model.

   Danielle

   -Original Message-
   From: cake-php@googlegroups.com [mailto:[EMAIL PROTECTED] On Behalf

   Of david_setwise
   Sent: January 21, 2008 3:03 PM
   To: Cake PHP
   Subject: Connecting Two HABTM Tables

   Here is a potential situation in which it seems like two HABTM tables
   should be connected.  So, am I incorrect in my table structure.  If
   not, can Cake handle connecting two HABTM tables?

   The system in question deals with clothing.  So imagine shirts of
   various types that can have multiple sizes and colors, with the
   ability to track inventory.

   The first HABTM is fairly straight forward: Colors  Colors_Shirts 
   Shirts

   But if I want to add in sizes, with an inventory for each combination
   (Plain T-shirt, Green, Size Medium, inventory 20) it get complicated.
   I envision the correct database structure/relationship as having the
   Sizes table connected to the Colors_Shirts table with a HABTM
   relationship, in which the inventory is stored.

   Colors_Shirts  Colors_Shirts_Sizes (with field for inventory)  Sizes

   So, is this the way you would structure the database?  If so, can Cake
   handle such a relationship?  And if not, does anyone have a decent
   alternative?

   Colors
- color_id
- name

   Shirts
- shirt_id
- name
- description

   Sizes
- size_id
- shortCode

   Colors_Shirts
- color_id
- shirt_id

   Colors_Shirts_Sizes
- color_id
- shirt_id
- size_id
- inventory

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---



Re: Connecting Two HABTM Tables

2008-01-22 Thread AD7six



On Jan 22, 6:37 pm, david_setwise [EMAIL PROTECTED] wrote:
 I see you point about making the database structure more simple, and I
 like it, but does that make the programming logic a lot more
 complicated?  If I add a Style with 20 colors and 4 sizes, do I have
 to manually loop through all the potential options to save all the
 corresponding Stock records, or can Cake handle that somehow?

put some code in  afterSave to do it for you. Guess the answer depends
if manually means you writing code or not.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups Cake 
PHP group.
To post to this group, send email to cake-php@googlegroups.com
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
-~--~~~~--~~--~--~---