Wie wir hier insgesamt als virtuelles Feld verwendet haben, kann in demselben Modell wie diese mehr schaffen als:
public function index()
{
$checklist = TableRegistry::get('Checklists');
$query = $checklist->find()
->where('Checklists.is_deleted = 0')
->contain([
'ChecklistTitles' => function($q) {
return $q -> select([
'ChecklistTitles.title',
'ChecklistTitles.checklist_id'
]);
},
'ChecklistTypes' => function($w){
return $w->select(['ChecklistTypes.type']);
},
'AssignedChecklists' => function($e){
$e->select([
'AssignedChecklists.checklist_id',
'completed' => $e->func()
->count('AssignedChecklists.checklist_id'),
])
->group(['AssignedChecklists.checklist_id'])
->where(['AssignedChecklists.is_deleted = 0 AND AssignedChecklists.checklist_status = 2']);
return $e;
}
]);
// ->toArray();
// pr($query);die;
$this->paginate = [
'limit' => 20,
'sortWhitelist' => [
'id', 'checklist_title', 'checklist_type'
]
];
$this->set('query', $this->paginate($query));
$this->set(compact('checklists','query'));
$this->set('_serialize', ['checklists','query']);
}
Wie hier habe ich fertig berechnet, mag ich mit verschiedener, wo Bedingung aufgehoben zu berechnen, was wird die Syntax dafür in CakePHP3 sein?
"_doesn't work_" ist keine richtige Problembeschreibung! Auch wenn das Problem für Leute offensichtlich ist, die die CakePHP-Interna kennen, sei bitte immer so genau wie möglich, was _exactly_ passiert und was du stattdessen erwartest. Zeigen Sie die Daten, mit denen Sie arbeiten, den Kontext, Ihre Debugging-Versuche und mögliche Fehler an. Oft löst sich das Problem selbst beim Sammeln dieser Informationen. – ndm