Cakephp Distinct Matching Associated Table

时间:2015-05-10 13:47:25

标签: distinct matching cakephp-3.0

我正在尝试使用matching()函数过滤关联表中的数据。 退回记录,我获得当前客户购买的所有申请人。但我仍然会为申请人获得重复的值。

表格 - >申请人,购买,申请人_购买与belongsToMany关联购买&申请人。

这就是我想要做的事情。

$this->listConditions = ['Purchases.customer_id' => $user['customer_id']];
$query = $this->Applicants->find();
$query->matching('Purchases', function ($q) {
    return $q->select(['Applicants.id'])->distinct(['Applicants.id'])->where($this->listConditions);
});

1 个答案:

答案 0 :(得分:2)

没关系,我放了选择&在错误的一端有所区别。

当然需要像这样放在find()调用中。

$query = $this->Applicants->find()
   ->select(['Applicants.id'])
   ->distinct(['Applicants.id']);

$query->matching('Purchases', function ($q) {
    return $q->where($this->listConditions);
});