Hi, I have a problem and I think it's due to a bug. I've made a plugin called Artistsplugin. The plugin has a controller called ArtistspluginMp3sController and a model called ArtistspluginMp3.
here is a stripped down version of my controller class:
class ArtistspluginMp3sController extends ArtistspluginAppController {
var $name = 'ArtistspluginMp3s';
var $helpers = array('Html', 'Form');
// var $uses = array('ArtistspluginMp3');
function admin_index() {
print pr($this->ArtistspluginMp3);die();
}
}
and my model:
<?php
class ArtistspluginMp3 extends ArtistspluginAppModel
{
var $name = 'ArtistspluginMp3';
var $belongsTo = 'ArtistspluginArtist';
var $validate = array(
'song_title' => array(
'minLength' => array(
'rule' =>
array('minLength','2'),
'required' => true,
'message' => 'Please enter a
title of at least 2 characters.'
),
'maxLength' => array(
'rule' =>
array('maxLength','255'),
'required' => true,
'message' => 'Your title can be
no longer than 255 characters.'
),
),
'url' => array(
'minLength' => array(
'rule' =>
array('minLength','1'),
'required' => true,
'message' => 'Please enter a
url.'
),
'maxLength' => array(
'rule' =>
array('maxLength','255'),
'required' => true,
'message' => 'Your url can be
no longer than 255 characters.'
),
),
);
var $funtimes = 'fun';
}
Now, the problem here lies in the line that's commented in my
controller (the $uses variable). If I uncomment it and load the model
via the $uses variable, my output is different. Below I'll show the
two outputs. Notice how one contains my validation rules and the other
doesn't? Also notice the $funtimes variable that I defined, it's not
in the object when I load it via $uses.
I'm wondering why that is.. My program isn't performing validation for
my plugin when I load the models using the $uses... This is a big
problem and I think it's a bug, but I'd like a second opinion. Could
it be because I have this code in a plugin?
FYI: I tried this on the latest 1.2 beta and then tried it again with
RC1, problem always exists.
My outputs:
==================================
When controller DOESN'T load model via $uses:
==================================
ArtistspluginMp3 Object
(
[name] => ArtistspluginMp3
[belongsTo] => Array
(
[ArtistspluginArtist] => Array
(
[className] => ArtistspluginArtist
[foreignKey] => artistsplugin_artist_id
[conditions] =>
[fields] =>
[order] =>
[counterCache] =>
)
)
[validate] => Array
(
[song_title] => Array
(
[minLength] => Array
(
[rule] => Array
(
[0] => minLength
[1] => 2
)
[required] => 1
[message] => Please enter a title of at
least 2 characters.
)
[maxLength] => Array
(
[rule] => Array
(
[0] => maxLength
[1] => 255
)
[required] => 1
[message] => Your title can be no longer
than 255 characters.
)
)
[url] => Array
(
[minLength] => Array
(
[rule] => Array
(
[0] => minLength
[1] => 1
)
[required] => 1
[message] => Please enter a url.
)
[maxLength] => Array
(
[rule] => Array
(
[0] => maxLength
[1] => 255
)
[required] => 1
[message] => Your url can be no longer
than 255 characters.
)
)
)
[funtimes] => fun
[useDbConfig] => default
[useTable] => artistsplugin_mp3s
[displayField] => id
[id] =>
[data] => Array
(
)
[table] => artistsplugin_mp3s
[primaryKey] => id
[_schema] => Array
(
[id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
[key] => primary
)
[created] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[modified] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[artistsplugin_artist_id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
)
[song_title] => Array
(
[type] => string
[null] =>
[default] =>
[length] => 255
)
[url] => Array
(
[type] => string
[null] =>
[default] =>
[length] => 255
)
)
[validationErrors] => Array
(
)
[tablePrefix] =>
[alias] => ArtistspluginMp3
[tableToModel] => Array
(
[artistsplugin_mp3s] => ArtistspluginMp3
[artistsplugin_artists] => ArtistspluginArtist
)
[logTransactions] =>
[transactional] =>
[cacheQueries] =>
[hasOne] => Array
(
)
[hasMany] => Array
(
)
[hasAndBelongsToMany] => Array
(
)
[actsAs] =>
[Behaviors] => BehaviorCollection Object
(
[modelName] => ArtistspluginMp3
[_attached] => Array
(
)
[_disabled] => Array
(
)
[__methods] => Array
(
)
[__mappedMethods] => Array
(
)
[_log] =>
)
[whitelist] => Array
(
)
[cacheSources] => 1
[findQueryType] =>
[recursive] => 1
[order] =>
[__exists] =>
[__associationKeys] => Array
(
[belongsTo] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => counterCache
)
[hasOne] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => dependent
)
[hasMany] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => limit
[6] => offset
[7] => dependent
[8] => exclusive
[9] => finderQuery
[10] => counterQuery
)
[hasAndBelongsToMany] => Array
(
[0] => className
[1] => joinTable
[2] => with
[3] => foreignKey
[4] => associationForeignKey
[5] => conditions
[6] => fields
[7] => order
[8] => limit
[9] => offset
[10] => unique
[11] => finderQuery
[12] => deleteQuery
[13] => insertQuery
)
)
[__associations] => Array
(
[0] => belongsTo
[1] => hasOne
[2] => hasMany
[3] => hasAndBelongsToMany
)
[__backAssociation] => Array
(
)
[__insertID] =>
[__numRows] =>
[__affectedRows] =>
[__findMethods] => Array
(
[all] => 1
[first] => 1
[count] => 1
[neighbors] => 1
[list] => 1
)
[_log] =>
[ArtistspluginArtist] => AppModel Object
(
[useDbConfig] => default
[useTable] => artistsplugin_artists
[displayField] => name
[id] =>
[data] => Array
(
)
[table] => artistsplugin_artists
[primaryKey] => id
[_schema] => Array
(
[id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
[key] => primary
)
[created] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[modified] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[name] => Array
(
[type] => string
[null] =>
[default] =>
[length] => 255
)
)
[validate] => Array
(
)
[validationErrors] => Array
(
)
[tablePrefix] =>
[name] => ArtistspluginArtist
[alias] => ArtistspluginArtist
[tableToModel] => Array
(
[artistsplugin_artists] => ArtistspluginArtist
)
[logTransactions] =>
[transactional] =>
[cacheQueries] =>
[belongsTo] => Array
(
)
[hasOne] => Array
(
)
[hasMany] => Array
(
)
[hasAndBelongsToMany] => Array
(
)
[actsAs] =>
[Behaviors] => BehaviorCollection Object
(
[modelName] => ArtistspluginArtist
[_attached] => Array
(
)
[_disabled] => Array
(
)
[__methods] => Array
(
)
[__mappedMethods] => Array
(
)
[_log] =>
)
[whitelist] => Array
(
)
[cacheSources] => 1
[findQueryType] =>
[recursive] => 1
[order] =>
[__exists] =>
[__associationKeys] => Array
(
[belongsTo] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => counterCache
)
[hasOne] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => dependent
)
[hasMany] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => limit
[6] => offset
[7] => dependent
[8] => exclusive
[9] => finderQuery
[10] => counterQuery
)
[hasAndBelongsToMany] => Array
(
[0] => className
[1] => joinTable
[2] => with
[3] => foreignKey
[4] => associationForeignKey
[5] => conditions
[6] => fields
[7] => order
[8] => limit
[9] => offset
[10] => unique
[11] => finderQuery
[12] => deleteQuery
[13] => insertQuery
)
)
[__associations] => Array
(
[0] => belongsTo
[1] => hasOne
[2] => hasMany
[3] => hasAndBelongsToMany
)
[__backAssociation] => Array
(
)
[__insertID] =>
[__numRows] =>
[__affectedRows] =>
[__findMethods] => Array
(
[all] => 1
[first] => 1
[count] => 1
[neighbors] => 1
[list] => 1
)
[_log] =>
)
)
==================================
When controller DOES load model via $uses:
==================================
AppModel Object
(
[useDbConfig] => default
[useTable] => artistsplugin_mp3s
[displayField] => id
[id] =>
[data] => Array
(
)
[table] => artistsplugin_mp3s
[primaryKey] => id
[_schema] => Array
(
[id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
[key] => primary
)
[created] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[modified] => Array
(
[type] => datetime
[null] =>
[default] =>
[length] =>
)
[artistsplugin_artist_id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
)
[song_title] => Array
(
[type] => string
[null] =>
[default] =>
[length] => 255
)
[url] => Array
(
[type] => string
[null] =>
[default] =>
[length] => 255
)
)
[validate] => Array
(
)
[validationErrors] => Array
(
)
[tablePrefix] =>
[name] => ArtistspluginMp3
[alias] => ArtistspluginMp3
[tableToModel] => Array
(
[artistsplugin_mp3s] => ArtistspluginMp3
)
[logTransactions] =>
[transactional] =>
[cacheQueries] =>
[belongsTo] => Array
(
)
[hasOne] => Array
(
)
[hasMany] => Array
(
)
[hasAndBelongsToMany] => Array
(
)
[actsAs] =>
[Behaviors] => BehaviorCollection Object
(
[modelName] => ArtistspluginMp3
[_attached] => Array
(
)
[_disabled] => Array
(
)
[__methods] => Array
(
)
[__mappedMethods] => Array
(
)
[_log] =>
)
[whitelist] => Array
(
)
[cacheSources] => 1
[findQueryType] =>
[recursive] => 1
[order] =>
[__exists] =>
[__associationKeys] => Array
(
[belongsTo] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => counterCache
)
[hasOne] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => dependent
)
[hasMany] => Array
(
[0] => className
[1] => foreignKey
[2] => conditions
[3] => fields
[4] => order
[5] => limit
[6] => offset
[7] => dependent
[8] => exclusive
[9] => finderQuery
[10] => counterQuery
)
[hasAndBelongsToMany] => Array
(
[0] => className
[1] => joinTable
[2] => with
[3] => foreignKey
[4] => associationForeignKey
[5] => conditions
[6] => fields
[7] => order
[8] => limit
[9] => offset
[10] => unique
[11] => finderQuery
[12] => deleteQuery
[13] => insertQuery
)
)
[__associations] => Array
(
[0] => belongsTo
[1] => hasOne
[2] => hasMany
[3] => hasAndBelongsToMany
)
[__backAssociation] => Array
(
)
[__insertID] =>
[__numRows] =>
[__affectedRows] =>
[__findMethods] => Array
(
[all] => 1
[first] => 1
[count] => 1
[neighbors] => 1
[list] => 1
)
[_log] =>
)
==================================
Thanks for any information on this problem!
-Eduardo
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
