public function adminList($listCond, &$retDataContainer) { // 列表的必须字段 if (!DataValidater::isAllExist(array("start", "length"), $listCond)) { return Status::RET_INVALID_INPUT_PARAM_FORMAT; } // 获得数据 $start = $listCond["start"]; $length = $listCond["length"]; // 非空可选项 $order = DataLoader::exportColumn("order", $listCond); $orderCol = $orderDir = null; if ($order != null) { $orderCol = DataLoader::exportColumn("column", $order[0]); $orderDir = DataLoader::exportColumn("dir", $order[0]); } $search = DataLoader::exportColumn("search", $listCond); if ($search != null) { $search = DataLoader::exportColumn("value", $search); } /*$where = array(); $orgType = DataLoader::exportColumn( "org_type", $listCond ); if( $orgType != null ) { $where[ "org_type" ] = $orgType; } $orgDistrId = DataLoader::exportColumn( "org_distr_uuid", $listCond ); if( $orgDistrId != null ) { $where[ "org_distr_uuid" ] = $orgDistrId; }*/ return Table::pull(new Users(), $start, $length, $retDataContainer, $search, $orderCol, $orderDir); }
private static function push($arObj, $data, &$retDataContainer) { $tableAttr = array_keys(self::getAttributesWithoutPK($arObj)); // 获得待推送表的所有字段名 // TODO: $tableAttr验证 // 检查字段是否都存在 if (!DataValidater::isAllExist($tableAttr, $data)) { return Status::RET_INVALID_INPUT_PARAM_FORMAT; } // 获得目标AR的实例 $dest = $arObj; // 未找到 if ($dest == null) { return Status::RET_DEST_NOT_FOUND; } // 获取服务器当前数据 $currSrvData = self::getAttributes($dest); // $dest->getAttributes(); // TODO: $currSrvData验证 // 冲突处理 if (DataValidater::isConflictive($data, $currSrvData)) { // 发生冲突 $retDataContainer = array(); // 将服务器数据插入$srvData foreach ($currSrvData as $key => $val) { $retDataContainer[$key] = $val; } return Status::RET_CONFLICTIVE_DATA; } // 将数据写入 if (self::setAttributes($dest, $data, $tableAttr) && self::save($dest)) { // 成功,$dest->save() return Status::RET_SUCCESSFUL; } else { // 失败 return Status::RET_INSERT_ERROR; } }