public function findTrashedFieldByKeyAndPageVersion($key, $pageVersionId) { return $this->Field->newInstance()->onlyTrashed()->where('key', '=', $key)->where('page_version_id', '=', $pageVersionId)->first(); }
/** * Changes this global field to a page field * * @param array $fieldInput * @param array $pageInput * @return DvsField */ protected function changeToPageField($fieldInput, $pageInput) { $field = $this->FieldsRepository->findTrashedFieldByKeyAndPageVersion($fieldInput['key'], $pageInput['page_version_id']); if ($field) { $field->restore(); return $field; } $field = $this->FieldsRepository->findFieldByKeyAndPageVersion($fieldInput['key'], $pageInput['page_version_id'], null); return $field ?: $this->newPageField($pageInput['page_version_id'], $fieldInput['key'], $fieldInput['type'], $fieldInput['human_name']); }