Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con Laravel + stored procedure

    ciao!

    sinceramente non riesco a capire se il problema è laravel o la stored procedure.
    questa la SP:
    codice:
    DELIMITER //
    DROP PROCEDURE IF EXISTS up_step_riepilogo //
    CREATE PROCEDURE up_step_riepilogo(
        IN lavoro INT,
        IN step SMALLINT(2),
        IN da_caricare SMALLINT(6),
        IN validato INT,
        IN critico_serio INT,
        IN critico_non_serio INT,
        IN non_visionato INT
    )
        NO SQL
    BEGIN
        SET @caricati = (SELECT COUNT(*) AS cnt
                         FROM documenti_lavori
                         WHERE docl_lavoro = lavoro
                           AND docl_step = step
                           AND docl_nome != '');
    
        INSERT INTO step_riepilogo
        VALUES (lavoro, step, da_caricare, @caricati, validato, critico_serio, critico_non_serio, non_visionato, NOW(),
                NOW())
        ON DUPLICATE KEY UPDATE sr_step              = step,
                                sr_da_caricare       = da_caricare,
                                sr_caricati          = @caricati,
                                sr_validato          = validato,
                                sr_critico_serio     = critico_serio,
                                sr_critico_non_serio = critico_non_serio,
                                sr_non_visionato     = non_visionato,
                                sr_modifica          = NOW();
    END
    questo il metodo da cui la richiamo:
    codice:
     public function addDocumento(Request $req) {
            $data = $req->json()->all();
    
            if (!empty($data)) {
                try {
                    DB::select('CALL add_documento_step(?,?,?,?,?,?,?,?,?,?,?,?,?)', array(
                        $data['docl_id'], $data['docl_lavoro'], $data['docl_step'], $data['docl_numero'],
                        trim($data['docl_nome']), trim($data['docl_tipo']), trim($data['docl_responsabile']), 'files/',
                        $data['docl_gestore'], $data['docl_tutor'], $data['docl_data'], $data['docl_importo'],
                        $data['docl_note']
                    ));
    
                    $docStep = new DocStep();
                    DB::select('CALL up_step_riepilogo(?,?,?,?,?,?,?', array(
    //                    $data['docl_lavoro'], $data['docl_step'], $docStep->countDocStep($data['docl_step']), 0, 0, 0, 0
                        25, 1, 7, 0, 0, 0, 0
                    ));
                } catch (QueryException $ex) {
                    return response()->json([
                        'res' => 'ko',
                        'message' => 'Errore: ' . $ex->getMessage()
                    ]);
                }
    
                return response()->json(array(
                    "res" => "ok",
                    "message" => "Documento lavoro aggiunto con successo!"
                ));
            } else {
                return response()->json(array(
                    "res" => "ko",
                    "message" => "Dati mancanti!"
                ));
            }
        }
    come vedete ne richiamo due.
    la prima non da problemi, la seconda da questo errore:
    codice:
    Errore: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 (SQL: CALL up_step_riepilogo(25,1,7,0,0,0,0)
    ma se poi vado in phpmyadmin e invio CALL up_step_riepilogo(25,1,7,0,0,0,0), funziona senza problemi.
    al posto di DB::select ho già provato a mettere insert o update.
    non mi sembra ci siano altri errori!

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    nella call up_step_riepilogo, non ti manca una parentesi chiusa, o è solo un refuso ?

  3. #3
    si manca quella.

    scusate, errore stupido

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.