Cakephp 不同匹配关联 Table

Cakephp Distinct Matching Associated Table

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

表 -> 申请人、采购,applicants_purchases 与采购和申请人的 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);
});

没关系,我把 select & distinct 放在了错误的一端。

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

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

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