I just checked and if I debug out $this->Product->ProductType from
ProductsController, the settings for ProductType are correctly in the
model.
ProductType Object
(
[name] => ProductType
[useTable] => NPPProductType
[primaryKey] => productTypeID
[displayField] => productTypeName
[useDbConfig] => default
[actsAs] => Array
(
[AutoIncrement] => Array
(
[productTypeID] => Array
(
[overwrite] =>
[increment] => 1
)
[sequenceNumber] => Array
(
[overwrite] =>
[increment] => 10
)
)
But if I call the save() w/ out new ProductType first, the behavior is
getting productID instead of productTypeID, which is the setting in
Product
On Apr 24, 3:23 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Ok, here's the scenario: I've got a Product model and a ProductType
> model. Additionally I have an autoIncrement behavior created (the
> database I'm working on has many tables w/out auto-incrementing
> primary keys, and I can't change the structure).
>
> I have a function in my ProductType model called newFromName() that
> basically just takes a name, creates a new record w/ that name, and
> passes back an ID, fairly basic.
>
> My models pass my behavior some settings, and I'm handling them in
> what appears to be a pretty standard way from other behaviors I've
> seen:
>
> function setup(&$Model, $settings = array()){
>
> $this->__defaults = array(
> 'overwrite' => false,
> 'increment' => 1,
> 'conditions' => array(),
> 'direction' => 'DESC',
> 'sameFields' => array(),
> );
>
> $this->__settings = $settings;
>
> }
>
> So here's the bizarre part: if I'm in ProductsController and I call
> $this->Product->ProductType->newFromName('name'), my AutoIncrement
> behavior is getting passed the settings from Product, NOT ProductType.
> (I'm debugging out $this->__settings in the behaviors' beforeSave())
>
> I thought it might have something to do with calling the function thru
> an associated model (Product->ProductType), so I tried:
>
> $PType = new ProductType;
> $PType->newFromName('name');
>
> And the behavior is getting passed the proper settings.
>
> Now it gets stranger - for sh!ts and giggles, I said:
>
> $PType = new ProductType;
> $this->Product->ProductType->newFromName('name');
>
> And that worked...
>
> So it seems for some reason, even though I'm not even calling $PType,
> leaving in $PType = new ProductType is getting the behavior
> ProductType's behavior settings, but without it the behavior is
> getting Product's settings.
>
> Does this sound like a bug to anyone else?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---