CakePHP mit der Gespeicherten Prozedur

Ich versuche zu erstellen gespeicherte Prozedur in Cakephp. Erstellt habe ich die Prozedur in MYSQL und erstellte Globale Funktion in AppModel.php zu Treffer-Verfahren. Die Funktion im AppModel ist sProcedure. Jetzt habe ich 2 Bedingungen, die ich haben könnte, variable Rückkehr aus dem Verfahren oder direkten resultset zB. Die ich erstellt habe, für die Seitenumbrüche definiert sind. Obwohl die Dreharbeiten meine Vorgehensweise, aber kein Ergebnis zurückgegeben. Ist meine Funktion erfordert eine änderung?

    public function sProcedure($name = NULL, $inputParameter = array(), $outputParameter = array()) {
        $this->begin();
        $parameter = "";
        $outputParam = "";
        foreach ($inputParameter as $params) {
            $parameter .= $parameter == "" ? " '$params' " : ", '$params' ";
        }

        if (count($outputParameter) > 0) {
            foreach ($outputParameter as $prm) {
                $outputParam .= $outputParam == "" ? " @$prm " : ", @$prm ";
            }
        }
        $parameter = ($outputParam) ? $parameter . ", " . $outputParam : $parameter;
        $this->query("CALL `$name`($parameter);");
        $result = $this->query("SELECT $outputParam");
        $this->commit();
        return $result;
    }

    $sel_data = $this->ArticleNews->sProcedure("update_blank", $input_prameter, $output);
    debug($sel_data);
  • sind Sie immer Fehler
  • Ich bin nicht der erste Fehler, Meine Vorgehensweise wird als gut. Aber ich möchte wissen, wie nehmen Ausgabe Verfahren. Mit der gleichen Funktion. Egal, ob ich die Ausgabe resultset oder Variablen.
  • ist das Verfahren der Rückkehr legit Werte beim Aufruf direkt von MySQL (nicht mit PHP)? Auch, $this->query führt den query-string übergeben wird, und gibt (wenn Sie nicht ausfällt) eine Ressource ist, sollte der Iteration.
  • Ja, seine Rückkehr korrekten Werte. Fragen ist manchmal kehre ich Datensatz aus SQL wie in Pagnation. in diesem Fall muss ich erwähnen Spalte mit Namen oder einfach nur SELECT * im Verfahren. Wie zur Antwort Lesen Sie in diesem Fall. In diesem scenerio ich nicht erwähnen output-Variablen. Aber Wenn ich bestimmte Spalten wie Anzahl oder eine andere Funktion möchte ich noch erwähnen output-Variablen. Würde es funktionieren mit beiden. Ist es eine moderation erfordern.
InformationsquelleAutor Sankalp | 2015-05-15
Schreibe einen Kommentar