numRecords() > 0) { while($nextResult = $result->next()) { $where .= $nextResult['FileID'] . ','; } } foreach($classes as $className) { $query = new DataQuery($className); $ids = $query->execute()->column(); if(!count($ids)) continue; foreach(singleton($className)->hasOne() as $relName => $joinClass) { if($joinClass == 'Image' || $joinClass == 'File') { $fieldName = $relName .'ID'; $query = DataList::create($className)->where("$fieldName > 0"); $query->distinct = true; $query->select(array($fieldName)); $usedFiles = array_merge($usedFiles, $query->execute()->column()); } elseif($joinClass == 'Folder') { // @todo } } } if($usedFiles) { return "\"File\".\"ID\" NOT IN (" . implode(', ', $usedFiles) . ") AND (\"ClassName\" = 'File' OR \"ClassName\" = 'Image')"; } else { return "(\"ClassName\" = 'File' OR \"ClassName\" = 'Image')"; } return $where; // @todo - How? } }