Wednesday, April 30, 2014

Re: CakePHP 3.x - Accesing relations

Can you open a ticket for that? I will investigate it

On Wednesday, April 30, 2014 11:54:30 AM UTC+2, Thomas von Hassel wrote:
This works:

$this->belongsTo('Plugin.Related', [
        'className' => 'Related',
        'foreignKey' => 'my_id']);

This does not:

$this->belongsTo('Authors', [        
'className' => 'Publishing.Authors',
'foreignKey' => 'authorid',        
'propertyName' => 'person'    
]);


In other words, where you need to use plugin syntax is switched in the docs (or vice versa)


/thomas



On 30 Apr 2014, at 11:16, José Lorenzo <jose.zap@gmail.com> wrote:

> Show the initialize method for your table. Most probably you have a relationship to a Normal table object and not the the correct class. One way to make sure is providing the full 'className' in the association options.
>
> On Wednesday, April 30, 2014 7:46:10 AM UTC+2, Thomas von Hassel wrote:
> Ok, auto correct messed that up.
>
> Custom finder methods like this one on the related table don't work either:
>
> public function findSome(Query $query, array $options) {
>
> }
>
> when calling:
>
> From inside the Table class:
>
> $this->Related->find('some');
>
>
> The finder method itself works when called like this:
>
> $related = TableRegistry::get('MyPlugin.Related');
> $related->find('some');
>
>
> When i debug $this->Related
>
> i get this:
>
> ########## DEBUG ##########
> object(Cake\ORM\Association\BelongsTo)
>
>
>
>
>
>
>
> On 29 Apr 2014, at 23:13, José Lorenzo <jose.zap@gmail.com> wrote:
>
> > Calling custom functions should work, if it does not it is either a bug or a configuration error on your side
> >
> > On Tuesday, April 29, 2014 10:38:10 PM UTC+2, Thomas von Hassel wrote:
> > aah, yes when i tried using customer finders it worked, but not calling arbitrary functions that are defined in the Table object.
> >
> > I guess the right way is to use custom finders for everything then ?
> >
> > /thomas
> >
> > On 29 Apr 2014, at 22:06, José Lorenzo <jose.zap@gmail.com> wrote:
> >
> >> You can do exactly the same in cake 3
> >>
> >> On Tuesday, April 29, 2014 9:21:18 PM UTC+2, Thomas von Hassel wrote:
> >> Hey
> >>
> >> In 2.x when in a Model class you could do something like
> >>
> >> $this->RelatedModel->find('all');
> >>
> >>
> >> What's the "right" way to access related tables in a Table class ?
> >>
> >>
> >> /thomas
> >>
> >>
> >> --
> >> Like Us on FaceBook https://www.facebook.com/CakePHP
> >> Find us on Twitter http://twitter.com/CakePHP
> >>
> >> ---
> >> You received this message because you are subscribed to the Google Groups "CakePHP" group.
> >> To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
> >> To post to this group, send email to cake-php@googlegroups.com.
> >> Visit this group at http://groups.google.com/group/cake-php.
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
> > --
> > Like Us on FaceBook https://www.facebook.com/CakePHP
> > Find us on Twitter http://twitter.com/CakePHP
> >
> > ---
> > You received this message because you are subscribed to the Google Groups "CakePHP" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
> > To post to this group, send email to cake-php@googlegroups.com.
> > Visit this group at http://groups.google.com/group/cake-php.
> > For more options, visit https://groups.google.com/d/optout.
>
>
> --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups "CakePHP" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
> To post to this group, send email to cake-php@googlegroups.com.
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/d/optout.

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: