Thursday, October 16, 2014

Re: Error: Cannot use "matching" on "Personas" as there is another association with the same alias

OK, I have, it is issue #4895.

Thanks


On Wednesday, 15 October 2014 20:51:50 UTC+1, José Lorenzo wrote:
Can you open a ticket in github about this problem? Make sure you include a description of your associations.

On Wednesday, October 15, 2014 7:29:34 PM UTC+2, Rob Cowie wrote:
Hi all, I am attempting to use matching through a deep association, and am getting the above error message.

I baked a sample app to test with, and cant reproduce the problem. here is the offending code in my controller:

$contain_array = [
'Applicants' => [
'Personas'
],
'FinanceCompanies' => [
'Personas'
]
];
$propQuery = $this->Proposals->find();
$propQuery->contain($contain_array);
$propQuery->matching( 'Applicants.Personas', function($q) {
return $q->where(['Personas.last_name LIKE' => '%cowie%']);
})->all();

All my associations appear correct, and this code in a smaller app works just fine:

$query = $this->Articles->find()->
contain([
                 'Posts' => ['Users'],
'Views' => ['Users']
]
);
$query->matching('Posts.Users', function ($q){
return $q->where(['Users.name' => 'dave']);
})->all();

Any suggestions?

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