Я не уверен в правильном способе применения group by к дочерней таблице.
У пользователей много статей.
Ниже приведёт к ошибке:
$UsersTable= $this->getTableLocator()->get('Users');
$query = $UsersTable->find();
$query->contain(["Articles"]);
$query->group(["Articles.type"]); // ERROR
Добавление соответствия решает проблему, но как это должно работать?
$UsersTable= $this->getTableLocator()->get('Users');
$query = $UsersTable->find();
$query->contain(["Articles"]);
// just calling matching without any condition
$query->matching(
"Articles", function($q) {
return $q;
}
);
$query->group(["Articles.type"]); // WORKS!
Нет ли другого правильного способа заставить это работать, не полагаясь на сопоставление?