Hi Ken, Your proposed structure for the joining table (many-to-many relationship) with additional attributes is exactly how I would approach it. I have only worked with that model in CakePHP once, and it was many years ago. I wouldn't be surprised though if the framework does not provide a way to generate it via scaffold, and you need to set it up manually. I think Cake builds the many-to-many model via belongsToMany(). There are some notes in the documentation on how to use the 'through' attribute to deal with extra conditions in the join table: https://book.cakephp.org/3.0/en/orm/associations.html#using-the-through-option I'm sorry I can't help too specifically with CakePHP, but the student <--> course | days_attended | grade model in the documentation example seems similar to your model. Good luck, -- ++++++++++++++++++++ Michael Berkowski University of Minnesota Libraries [log in to unmask] 612.626.6137 PGP Public Key: http://z.umn.edu/mjbpubkey ++++++++++++++++++++ On Wed, 31 May 2017, Ken Irwin said: > Hi folks, > > TL;DR: when you have a database table whose whole job is to contain pairs of keys connecting ID's of related tables, what if you want to say more about that relationship (e.g. a time-frame in which that relationship existed)? I'm particularly working in a Rails-like CakePHP context. > > My particular case: > > I'm working on a database project with a faculty member who's interested in certain women who were associated with particular convents once upon a time. > > Our prototype database has tables for > > Women > -id > -name > -birth > -death > -etc > > Convents > -id > -name > -location > -etc > > Convents_Women > -woman_id > -convent_id > > I'm working in CakePHP, which has a Rails-like db structure, and this is how it likes to handle relationships. > > What I'm wondering is this: if there is other information about a relationship other than that it exists (e.g. the dates during which a person was at a convent; what their role was during that time, etc), is there a preferred / customary way of representing that? I had imagined that the convents_women table might look like: > > -woman_id > -convent_id > -role > -start_date > -end_date > > But the Cake/Rails scaffolding system doesn't seem to have a way of working with that. Or at least I haven't found the magic words to find a good explanation. > > I could, I imagine, subsequently add table fields to convents_women; but I wonder where we'd want to add that information in a generic application scaffold, or would I have to build some cockamamie extra view? > > I'd welcome any thoughts on the matter. I'd also be delighted to hear from other folks who are using CakePHP. I'm very new to it. > > Thanks > Ken