public function deleteGroupItem($id) { try { $gritem = Group::findOrFail($id); $gritem->deleteGroupItem(); return ['status' => 'OK']; } catch (Exception $exception) { return ['status' => 'Что-то пошло не так. ' . $exception->getMessage()]; } }
public function saveGroupItem() { if (Request::has('entity') && Request::has('block') && Request::has('id')) { $dataobj = Request::all(); if ($dataobj['entity'] == 'groupitem') { try { $groupitem = Group::findOrFail($dataobj['id']); $result = $groupitem->saveGroupItem($dataobj); return ['status' => $result]; } catch (Exception $exception) { return ['status' => 'Что-то пошло не так. ' . $exception->getMessage()]; } } else { return ['status' => 'Имя сохраняемой сущности не равно group (' . $dataobj['entity'] . ').']; } } else { return ['status' => 'Не хватает параметров для сохранения.']; } }
public function getGroupItemsArray($addshow = false) { $dataArr = []; if ($addshow) { $groups = \Prehistorical\Landing\Group::where('block_name', '=', $this->name)->with(['stringfields', 'textfields', 'numbs', 'bools', 'pdatetimes', 'images'])->where('show', '=', true)->get(); } else { $groups = \Prehistorical\Landing\Group::where('block_name', '=', $this->name)->with(['stringfields', 'textfields', 'numbs', 'bools', 'pdatetimes', 'images'])->get(); } foreach ($groups as $item) { $dataArrItem = ['updated_at' => $item->updated_at->timestamp, 'id' => $item->id, 'sorter' => $item->sorter, 'show' => $item->show, 'stringfields' => [], 'textfields' => [], 'images' => [], 'bools' => [], 'pdatetimes' => [], 'numbs' => []]; $fields =& $dataArrItem['stringfields']; foreach ($item->stringfields as $stringfield) { $fields[$stringfield->name] = $stringfield->value; } $fields =& $dataArrItem['textfields']; foreach ($item->textfields as $textfield) { $fields[$textfield->name] = $textfield->value; } $fields =& $dataArrItem['images']; foreach ($item->images as $image) { $fields[$image->name] = ['alt' => $image->alt, 'primary_link' => $image->primary_link, 'secondary_link' => $image->secondary_link, 'icon_link' => $image->icon_link, 'preview_link' => $image->preview_link]; } $fields =& $dataArrItem['bools']; foreach ($item->bools as $boolitem) { $fields[$boolitem->name] = $boolitem->value; } $fields =& $dataArrItem['pdatetimes']; foreach ($item->pdatetimes as $dtitem) { $fields[$dtitem->name] = $dtitem->value; } $fields =& $dataArrItem['numbs']; foreach ($item->numbs as $numb) { $fields[$numb->name] = $numb->value; } $dataArr['id' . $item->id] = $dataArrItem; } return $dataArr; }
public function deleteGroupItem() { $id = $this->id; $collection = Stringfield::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $collection = Textfield::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $collection = Numb::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $collection = Bool::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $collection = Pdatetime::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $collection = Imageitem::where('group_id', '=', $id)->get(); foreach ($collection as $field) { $field->delete(); } $gr = Group::find($id); $gr->delete(); }