public function getDataSet($postData, $dcTable, $facility_id, $occur_date, $properties) { $object_type = $postData['IntObjectType']; $object_id = $postData['ObjectName']; $mdlName = $postData[config("constants.tabTable")]; $mdl = "App\\Models\\{$mdlName}"; $objectType = IntObjectType::find($object_type); if (!$objectType) { abort(501, "Object Name not exist"); } $xtable = $objectType->CODE; $where = ["{$xtable}.FACILITY_ID" => $facility_id, "{$dcTable}.OBJECT_TYPE" => $object_type]; if ($object_id > 0) { $where["{$dcTable}.OBJECT_ID"] = $object_id; } $dataSet = $mdl::join($xtable, "{$dcTable}.OBJECT_ID", '=', "{$xtable}.ID")->where($where)->select("{$dcTable}.ID as DT_RowId", "{$dcTable}.*")->get(); $bunde = ['OBJECT_TYPE' => $object_type]; $extraDataSet = $this->getExtraDataSet($dataSet, $bunde); $data = IntMapTable::where("OBJECT_TYPE", '=', $object_type)->orderBy('NAME')->get(['TABLE_NAME as NAME', "TABLE_NAME as value", "TABLE_NAME as text"]); $extraDataSet['TABLE_NAME']['TABLE_NAME'] = $data; $objects = \DB::table($xtable)->where("FACILITY_ID", '=', $facility_id)->orderBy('NAME')->get(['ID', 'NAME', "ID as value", "NAME as text"]); $extraDataSet['OBJECT_ID']['OBJECT_ID'] = $objects; return ['dataSet' => $dataSet, 'extraDataSet' => $extraDataSet]; }