maybe this could be some very good solution, but it needs some hard shit to do in database layer: http://www.doctrine-project.org/ basically it intercepts everything u send to db, turns it into whatever is on the the other side and get back to you what u requested.
On Fri, Mar 8, 2013 at 7:09 PM, Vanja Dizdarević <[email protected]>wrote: > Disclaimer: If there is a better place to ask this question, do tell! > > I have been working on this MongoDB plugin for > Cake<https://github.com/ichikaway/cakephp-mongodb>- specifically, I am > working on relations. > > As you might know, NoSQL systems offer a different approach on > associations. For one, there is no "join tables" (at least not by default), > but the associated records are stored as an array of ID's in the original > record (and vice-versa for HABTM). There is an extensive amount of other > possibilities, but for starters, I would like to mimic Cake's default model > operations. > > As I understand it, the CRUD operations on associations are generated (or > rather, instructed) by the Model class, not the DataSource class. Current > Model implementation doesn't allow the datasource to decide which IDs go > where and to adjust the logic of storage to the specific database adapters > (and strategies). > > In short, Cake Model doesn't do that well with NoSQL which I guess is a > design decision. > > I am, however, wondering what would be the best approach to solve these > issues: > > - Model doesn't recognize MongoID objects as UUIDs (best case scenario > is a 24hex), Cake supports only 16 and 32 binary or string types > - Model doesn't support the HABTM instructions specific to Mongo/NoSQL > > So, I am wondering how to go about solving these issues. Two ideas: > > > - Create an intermediate "MongodbModel" class (ex. Article (app model) > extends MongodbModel extends AppModel extends Model) and override the > saveMany, saveAssociated and saveAll methods. > - Create a Behavior and modify the CRUD logic where needed. > > Which approach would be more conventional? Is the second one at > all feasible? Any other ideas are greatly appreciated. > > You can check out the code at > https://github.com/dizyart/cakephp-mongodb/tree/2.0b the MongoAssociation > test case offers some insight in what I'm trying to do (hasMany/belongsTo > assoc. work fine). If additional details are required, I'd be happy to give > them. > > Cheers! > > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > Find us on Twitter http://twitter.com/CakePHP > > --- > You received this message because you are subscribed to the Google Groups > "CakePHP" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/cake-php?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- *Ivan Rimac*** mail: [email protected] *tel: +385 95 555 99 66* *http://ivanrimac.com* -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
