public static function copy($params) { if (!isset($params["id"])) { throw new Exception("Missing id parameter"); } // Connect to database $mysqli = FoodAppDatabase::connect(); // Copy meal_plan table record $mealFields = implode(",", array_slice(static::$fieldMap, 1)); $queryString = "INSERT into meal_plan (" . $mealFields . ") "; $queryString .= "SELECT " . $mealFields . " FROM meal_plan "; $queryString .= "WHERE id='" . $params["id"] . "'"; // Run query if (!$mysqli->query($queryString)) { throw new Exception($mysqli->error); } $newMealId = $mysqli->insert_id; // Copy Components MealPlanComponent::copy($params["id"], $newMealId); }