ciao!
sto integrando eloquent in un progetto che non ha laravel (e non posso riscriverlo tutto).
funziona tutto, tranne le transazioni.
questo il codice:
e questo l'errore:codice:<?php error_reporting(~0); ini_set('display_errors', 1); use database\EloquentInit; use helpers\CheckProtectedAttribute; use helpers\JwtHelpers; use Illuminate\Database\QueryException; use Illuminate\Support\Facades\DB; use models\Progetto; class ProgettiController { private JwtHelpers $jwtHelpers; public function __construct() { $this->jwtHelpers = new JwtHelpers(); $ei = new EloquentInit(); $ei->init(); } public function addOrUpdate() { $data = json_decode(file_get_contents("php://input"), true); if (!empty($data)) { $id = $data['prog_id']; $today = date("Y-m-d H:i:s"); $arrData = array( "prog_nome" => trim(strtoupper($data['prog_nome'])), "prog_location" => trim($data['prog_location']), "prog_capacity" => $data['prog_capacity'], "prog_area" => trim($data['prog_area']), "prog_grid_operator" => trim($data['prog_grid_operator']), "prog_structure" => trim($data['prog_structure']), "prog_asset_life" => trim(strtoupper($data['prog_asset_life'])), "prog_cancellato" => $data['prog_cancellato'], "prog_note" => trim($data['prog_note']), "prog_data_aggiunta" => $today, "prog_data_modifica" => $today ); try { DB::beginTransaction(); if ($id == 0) { $query = Progetto::create($arrData); $lastId = $query->prog_id; } else { Progetto::where('prog_id', '=', $id) ->update($arrData); $lastId = $id; } DB::commit(); return json_encode(array( "res" => "ok", "message" => "Operazione avvenuta con successo!", "id" => $lastId )); } catch (QueryException $ex) { DB::rollBack(); return json_encode(array( 'res' => 'ko', 'message' => 'Errore: ' . $ex->getMessage() )); } } else { return json_encode(array( "res" => "ko", "message" => "Dati mancanti!" )); } } }
questo il composer:codice:<br /> <b>Fatal error</b>: Uncaught RuntimeException: A facade root has not been set. in /data/vhosts/developmentdb.it/httpdocs/api/lib/vendor/illuminate/support/Facades/Facade.php: 354 Stack trace: #0 /data/vhosts/developmentdb.it/httpdocs/api/controllers/progetti/ProgettiController.php(65): Illuminate\Support\Facades\Facade: :__callStatic() #1 [internal function ]: ProgettiController->addOrUpdate() #2 /data/vhosts/developmentdb.it/httpdocs/api/controllers/progetti/index.php(34): ReflectionMethod->invoke() #3 /data/vhosts/developmentdb.it/httpdocs/api/index.php(36): include_once('...') #4 {main } thrown in <b>/data/vhosts/developmentdb.it/httpdocs/api/lib/vendor/illuminate/support/Facades/Facade.php</b> on line <b>354</b><br />
qualche idea??codice:{ "require": { "firebase/php-jwt": "v6.10.0", "illuminate/database": "^11.0" }, "autoload": { "psr-4": { "models\\": "../models", "database\\": "./database", "config\\": "./config", "helpers\\": "./helpers" } } }

Rispondi quotando
