I would take a look at Model::loadInfo() if I were you, also Model::primaryKey
Hope they help! Simon On Sep 6, 11:44 am, "Mike Green" <[EMAIL PROTECTED]> wrote: > Thanks for that, I've got slightly further along which i'm very very > happy about. I still need to find a way of "discovering" what any > particular table's primarykey is, otherwise my paginator will keep > trying to find a field called "ID". > > Many thanks > > MIke > > On 06/09/07, [EMAIL PROTECTED] > > > > <[EMAIL PROTECTED]> wrote: > > > Your best bet here is to create new config members in the > > DATABASE_CONFIG class, you can then use DataSource:reconnect to swap > > your alt config for the others you've just created. Your models would > > then useDbConfig alt, which would actually no longer be alt, but > > whichever config you reconnected to. > > > eg. > > $db = ConnectionManager :: getDataSource('alt'); > > $db->reconnect($dbConfig->{$to}); > > > Of course you don't even need to create the other dbs in > > DATABASE_CONFIG. You can just pass the array straight into reconnect > > above, I just find it more elegant in my use case to prepare config > > for all the possible dbs I might want in the config code in advance. > > > Simon > > > On Sep 6, 11:12 am, "Mike Green" <[EMAIL PROTECTED]> wrote: > > > Dear all > > > > Has anybody here successfully created a database config and model > > > dynamically using the latest cake 1.2? I want to create something not > > > a million miles away from phpmyadmin, and as you can imagine, for an > > > app like that, you cant pre-set the database or models before hand as > > > you know nothing about the data source. > > > > Ideally, I'd like to read a database config file (from anywhere, an > > > ini file, fields from a database, input from a user) and then be able > > > to create the dbconfig on the fly - which I can do using something > > > like: > > > > $_this =& ConnectionManager::getInstance(); > > > $_this->config->alt['password']=$info['db_pass']; > > > $_this->config->alt['login']=$info['db_user']; > > > $_this->config->alt['database']=$info['db_name']; > > > $_this->config->alt['host']=$info['db_host']; > > > > where alt is just a dummy dbconfig that I can populate. > > > > then set up a model, and tell the model to use the newly created (or > > > altered) configuration. However, my attempts at this have failed, the > > > model always expects a database and table to be present, but when I > > > try to change this on the fly using > > > > $this->Dummy->useTable = $info['from']; > > > $this->Dummy->useDbConfig="alt"; > > > > However, when I try to use this "Dummy" Model through cakes paginator, > > > it still tries to see the fields from whatever Dummy Model was set to > > > when it was loaded. > > > > I hope one of you can see the predicament that I'm in. I'm looking for > > > a solution which only uses the cakephp1.2 (svn) functions - I wouldnt > > > be happy using any third party pagination, however using the > > > pagination class from the bakery in my cake 1.1 was working to an > > > extent. > > > > I guess the best way to describe what I'm trying to achieve is if you > > > were trying to recreate phpmyadmin using cake1.2, with its results > > > pagination, dynamic database, custom queries etc, but on a lot smaller > > > scale, to be able to generate reports based on a database on the fly > > > (nothing hard coded) > > > > Many thanks in advance > > > > MIke > > > > -- > > > ------------------------------------ > > > Mike Green > > > > Find yourself some misspelled ebay bargains!http://www.typingwand.com > > -- > ------------------------------------ > Mike Green > > Find yourself some misspelled ebay bargains!http://www.typingwand.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---