You forgot all the parameters to the model constructor.

http://api.cakephp.org/class/model#method-Model__construct

-Mark

On Sep 3, 11:00 am, RhythmicDevil <rhythmicde...@gmail.com> wrote:
> Hi,
> I have an app. It has to get data from two different sources, a mysql
> db and an XML API
>
> For the API model I want to be able to do the following:
>
> TriadAPI - extends AppModel contains generic query and connection info
> Subscriber - extends TriadAPI and contains subscriber specific queries
>
> I am also using a data source called soap_source.
>
> The problem I have is that I dont have any idea where to put the
> TriadAPI file so that it gets loaded.  The reason I want to do this is
> that I dont want to repeat the generic query and connection info. It
> makes senses to me that the hierarchy should look like this:
>
> AppModel -> TriadAPI -> Subscriber
>
> I cant modify AppModel as that will screw up the models that need to
> use the DB. At least I think thats that would happen. I have pasted my
> model classes below for reference. Thanks for any advice.
>
> /app/models/triad_api.php
> class TriadApi extends AppModel
> {
>     /**
>      * @var useDbConfig
>      * @description     The name of the DataSource connection that this
> Model uses. Defined in core/database.php
>      */
>     public $useDbConfig = 'soap';
>     public $useTable = false;
>
>     public $TransactionParams = array ();
>
>     public function __construct()
>     {
>         parent::__construct();
>
>         $api_config = Configure::read('API');
>
>         $this->TransactionParams['loginName'] = $api_config
> ['loginName'];
>         $this->TransactionParams['loginPassword'] = $api_config
> ['loginPassword'];
>         $this->TransactionParams['orgName'] = $api_config['orgName'];
>
>         $this->TransactionParams['transaction']['id'] = date('d-m-y-
> i:s:a').' - ';
>         $this->TransactionParams['transaction']['wait'] = $api_config
> ['wait'];
>         $this->TransactionParams['transaction']['version'] =
> $api_config['version'];
>         $this->TransactionParams['transaction']
> ['TransactionCommandList'] = array ();
>     }
>
>         public function formatResult($result)
>         {
>                 return $result->transactionResult;
>         }
>
>         public function queryDatabase()
>         {
>                 //stub
>         }
>
> }
>
> /app/models/subscriber.php
> class Subscriber extends TriadApi
> {
>     public function __construct()
>     {
>         parent::__construct();
>     }
>
>     public function QuerySub($SubscriberId)
>     {
>         $this->TransactionParams['transaction']['id'].'QuerySub';
>         $this->TransactionParams['transaction']
> ['TransactionCommandList']['TransactionCommand']['QuerySub']
> ['SubscriberId'] = $SubscriberId;
>         return $this->formatResult($this->query('SendTransaction',
> $this->TransactionParams));
>     }
>
>         /*
>          *      <QuerySubNRC>
>          *              <SubscriberId> subscriber_id </SubscriberId>
>          *      </QuerySubNRC>
>          */
>         public function QuerySubNRC($SubscriberId)
>         {
>         $this->TransactionParams['transaction']['id'].'QuerySubNRC';
>         $this->TransactionParams['transaction']
> ['TransactionCommandList']['TransactionCommand']['QuerySubNRC']
> ['SubscriberId'] = $SubscriberId;
>                 return $this->formatResult($this->query('SendTransaction', 
> $this->TransactionParams));
>
>         }
>
>     /*
>      *  <PerformSubOp>
>      *          <SubscriberId> subscriber_id </SubscriberId>
>      *          <Operation> operation </Operation>
>      *  </PerformSubOp>
>      */
>     public function PerformSubOp($SubscriberId)
>     {
>         $this->TransactionParams['transaction']['id'].'PerformSubOp';
>         $this->TransactionParams['transaction']
> ['TransactionCommandList']['TransactionCommand']['PerformSubOp']
> ['SubscriberId'] = $SubscriberId;
>         $this->TransactionParams['transaction']
> ['TransactionCommandList']['TransactionCommand']['PerformSubOp']
> ['Operation'] = 'Refresh';
>         return $this->query('SendTransaction', $this-
>
>
>
> >TransactionParams);
>     }
> }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to