Further, you could throw a "model" field in the transactions table, and just have one single transactions table that manages every asset you are trying to track - just always filter for model = "book" whenever you want to know whats going on with books, and model = "widget" when you want to know whats going on with widget....
Again, you can then query the transactions table to find out everything the user has (books, widgets, gizmos, whatever) at once, out of one table, without having to query multiple tables... On Wed, Jan 19, 2011 at 8:39 PM, Greg Skerman <[email protected]> wrote: > I don't know if its a "good" idea... its just one that came to me when i > read your post. > > You're not changing the way that cakephp manages the relationships.... Book > hasMany Transactions (or whatever you call it).... and User hasMany > Transactions also. > > don't put the user_id in the book table (user has books by virtue of having > transactions....) - use the transactions table to bridge between Users and > Books. You get the current user that has the book checked out by querying > the transactions table for the latest checked out date where checkin date is > null for a given book_id, and pull user_id from the transactions table. > > > > On Wed, Jan 19, 2011 at 7:15 PM, Ryan Schmidt > <[email protected]>wrote: > >> Hi Greg, thanks for your response. >> >> Your transactions table idea is what I was thinking of originally, so I'm >> glad to hear confirmation that this could be a good way to do it, but I >> wasn't sure whether that would be instead of or in addition to CakePHP's >> usual way of managing relationships. For example, before implementing a >> transactions table, my books table might have the columns id, name, and >> user_id (the id of the user who currently has the book checked out, which >> could be NULL). Now, after I add a transactions table, do I still have a >> user_id column in the books table (redundant with the information in the >> transactions table), or do I remove it (if so, how does CakePHP manage the >> relationships now?) >> >> My system tracks more resources than just books, so I suppose I'll need >> multiple transactions tables (book_transactions, etc.) >> >> >> On Jan 19, 2011, at 02:34, Greg Skerman wrote: >> >> > i'd have a transactions table, which is made up of id, book_id, user_id, >> checked_out, checked_in >> > >> > When a checkout is made, create a new row, date time in checked_out >> > when its checkedin, update the checked_in date. >> > >> > >> > >> > On Wed, Jan 19, 2011 at 5:52 PM, Ryan Schmidt wrote: >> > >> >> How would you manage a system with a table for users and tables for >> various resources and the need to track which users used which resources for >> how long (so that they can be billed for it)? >> >> -- >> Our newest site for the community: CakePHP Video Tutorials >> http://tv.cakephp.org >> Check out the new CakePHP Questions site http://ask.cakephp.org and help >> others with their CakePHP related questions. >> >> >> To unsubscribe from this group, send email to >> [email protected]<cake-php%[email protected]>For >> more options, visit this group at >> http://groups.google.com/group/cake-php >> > > -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
