codeigniter-base-model icon indicating copy to clipboard operation
codeigniter-base-model copied to clipboard

composite primary keys?

Open adrienne opened this issue 13 years ago • 5 comments
trafficstars

Hiya. Is there a way to get MY_Model to allow composite primary keys? Currently i'm having to override a bunch of the default functions, and it seems like there ought to be a better way!

adrienne avatar Aug 13 '12 19:08 adrienne

Sorry Adrienne, there isn't! Other than creating some scopes to add the necessary where + select clauses… but even then, I think you're going to have to override the methods. Try subclassing MY_Model, create Composite_MY_Model, and abstract it there? Then at least you only have to override them once.

If you can think of a sleeker solution, by all means send a pull request. I've never used composite primary keys so it's never been a problem. Sorry I can't be more helpful!

On Monday, 13 August 2012 at 22:12, adrienne wrote:

Hiya. Is there a way to get MY_Model to allow composite primary keys? Currently i'm having to override a bunch of the default functions, and it seems like there ought to be a better way!

— Reply to this email directly or view it on GitHub (https://github.com/jamierumbelow/codeigniter-base-model/issues/42).

jamierumbelow avatar Aug 13 '12 21:08 jamierumbelow

Actually, I think i just figured out a solution using the magic of array_combine() , so i will send a pull request! Also i think there's some more abstraction you could do in other places.

adrienne avatar Aug 14 '12 03:08 adrienne

Adrienne, did you fix this? Could you share you solution?

MathieuFrench1 avatar Mar 21 '13 01:03 MathieuFrench1

Mathieu, I'm not sure, honestly. I need to revisit my code from last year to see if I can sort out what I did. sheepish I will check back and let you know.

adrienne avatar Apr 02 '13 19:04 adrienne

not sure, but if you set $primary_key = "concat_ws('|',fieldOne, fieldTwo)";

michail1982 avatar Apr 02 '13 19:04 michail1982