Mark,

Thanks so much for the help! That brought my plugin to life and caused tons
of errors hahaha.  I ended up setting $this->recursive = '-1' in my
CmsAppModel (like I've been recommended to do in some articles I've read)
and only set the recursive to 1+ if I need to.

Now if only a plugin could have it's own set of plugins as well...I would be
a happy camper!

Best Regards,
cody


"Pneumonoultramicroscopicsilicovolcanoconiosis is a
floccinaucinihilipilificated word."



On Wed, Oct 7, 2009 at 10:43 AM, mark_story <[email protected]> wrote:

>
> Your associations are wrong.
>
> var $hasMany = 'CmsTemplate'; will never work.
>
> var $hasMany = array('Cms.CmsTemplate');
> or
> var $hasMany = array('CmsTemplate' => array('className' =>
> 'Cms.CmsTemplate'));
>
> will probably work much better.  You're missing the plugin prefix on
> your plugin model associations.
>
> -Mark
>
> On Oct 6, 4:34 pm, MeanStudios <[email protected]> wrote:
> > Nope, containable isn't working either. The following code (I'm now
> > including my prefixes for my plugin.  The name of my plugin is Cms):
> >
> > $this->CmsPage->CmsLayout->Behaviors->attach('Containable');
> > $this->CmsPage->CmsLayout->contain('CmsTemplate');
> > debug($this->CmsPage->CmsLayout->findById($id));
> > exit;
> >
> > Produces this error:
> > Warning (512): Model "CmsLayout" is not associated with model
> > "CmsTemplate" [CORE/cake/libs/model/behaviors/containable.php, line
> > 340]
> >
> > In my cms_templates table, there is a field called cms_layout_id so
> > this should work.
> > In my models I have $hasMany = 'CmsTemplate' for CmsLayout.php and
> > $belongsTo = 'CmsLayout' in my CmsTemplate.php.
> >
> > Any thoughts?
> >
> > On Oct 7, 4:15 am, brian <[email protected]> wrote:
> >
> >
> >
> > > On Mon, Oct 5, 2009 at 8:45 PM, MeanStudios <[email protected]>
> wrote:
> >
> > > > Greetings,
> >
> > > > I'm not sure if this is a bug or not but here it goes. If I have 3
> > > > models (Layout, Template, Page).  Layout has many Page and Template.
> > > > Page and Template have only one Layout.  If I am in the
> > > > PagesController and I do something like $this->Page->Layout->findById
> > > > ($id) it should return an array with with Layout data as well as all
> > > > the templates and pages that are related to the passed layout id,
> > > > correct?  Well it's not.  The only way I can get that data is if I do
> > > > a bind right before the findById() like so
> > > > $this->Page->Layout->bindModel(array('hasMany' => array('Template' =>
> > > > array('className' => 'Template'))));
> > > > $this->Page->Layout->findById($id);
> >
> > > > That will return an array of the Layout Data as well as an array of
> > > > all the templates that Layout has associated to it.
> >
> > > > Yes, my $hasMany and $belongsTo definitions are setup correctly
> > > > because I can go into the LayoutsController and just do:
> > > > $this->Layout->findById($id);
> > > > and it will return all the data it's supposed to.
> >
> > > > Yes I am using prefixes for my plugin controllers, models, views,
> > > > etc.  It's just less confusing if I don't do it here.
> >
> > > > I'm pretty sure that I don't need the bind when not working inside a
> > > > template but inside a regular controller.
> >
> > > If the associations are correct, that would seem odd. Can you try it
> > > using Containable?
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to