private function getIdsToDelete($view, $keys, $liveVersionId)
{
$liveVersionIds = $this->getAllLivePageVersionIds($view);
$allIds = DB::table('dvs_fields')->leftJoin('dvs_collection_instances', 'dvs_collection_instances.id', '=', 'dvs_fields.collection_instance_id')->whereIn('dvs_fields.page_version_id', $liveVersionIds)->whereNotIn('key', $keys)->select('dvs_fields.id as dvs_field_id', 'dvs_collection_instances.id as dvs_collection_instance_id', 'dvs_collection_instances.collection_set_id as dvs_collection_set_id')->get();
$fieldIds = [];
$collectionInstanceIds = [];
$collectionIds = [];
foreach ($allIds as $ids) {
$fieldIds[] = $ids->dvs_field_id;
if ($ids->dvs_collection_instance_id) {
$collectionInstanceIds[] = $ids->dvs_collection_instance_id;
}
if ($ids->dvs_collection_set_id) {
$collectionIds[] = $ids->dvs_collection_set_id;
}
}
return ['fields' => array_unique($fieldIds), 'collection_instances' => array_unique($collectionInstanceIds), 'collections' => array_unique($collectionIds)];
}