$this->Project->contain(); $this->Project->virtualFields['completion'] = ' ROUND( ((SUM(Todo.complete) + SUM(TodoExtra.complete)) / (COUNT(Todo.complete) + COUNT(TodoExtra.complete))) * 100 ) '; $projects = $this->Project->find('all', array( 'joins' => array( array( 'alias' => 'Todo', 'table' => 'project_todos', 'type' => 'LEFT', 'conditions' => array( '`Todo`.`project_id` = `Project`.`id`', ), ), array( 'alias' => 'TodoExtra', 'table' => 'project_todo_extras', 'type' => 'LEFT', 'conditions' => array( '`TodoExtra`.`project_id` = `Project`.`id`', ), ) ), 'group' => array( 'Project.id', ), ));