der Code ist normalerweise
- Code: Alles auswählen
Allerdings habe ich nach einigem Suchen und verstehen wie was passiert in der Core folgendes gefunden
dbo_source.php LINE 1327
- Code: Alles auswählen
- case 'hasMany':
$assocData['fields'] = $this->fields($linkModel, $alias, $assocData['fields']);
if (!empty($assocData['foreignKey'])) {
$assocData['fields'] = array_merge($assocData['fields'], $this->fields($linkModel, $alias, array("{$alias}.{$assocData['foreignKey']}")));
}
$query = array(
'conditions' => $this->__mergeConditions($this->getConstraint('hasMany', $model, $linkModel, $alias, $assocData), $assocData['conditions']),
'fields' => array_unique($assocData['fields']),
'table' => $this->fullTableName($linkModel),
'alias' => $alias,
'order' => $assocData['order'],
'limit' => $assocData['limit'],
'group' => null
);
break;
dabei ist besonders auf 'group' => null zu achten, damit wird ein GROUP BY quasi unmöglich gemacht ausser man schreibt manuell Querys... habe dies Zeile ersetzt mit
- Code: Alles auswählen
- 'group' => $assocData['group']
bin damit aber verständlicherweise nicht gerade glücklich da ich bei neuen Versionen nun darauf achten muss das es funktioniert.
ist jemand von euch schonmal auf das Problem gestossen und hat eventuell eine besser Lösung als Core ändern oder Manuelle Querys schreiben?
Flo