2016-12-10 5 views
1

Ich habe dies:Laravel - nicht PDO Ausnahmen fangen

$this->db = DB::connection()->getPdo(); 
    $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 

Und einen try ... catch-Block, der nicht erscheint zu einem Fang:

try { 
     $this->SQL->execute($this->values); 
     $this->insert_count++; 
    } catch (PDOexception $e) { 
     $this->errors[] = 'PDO error: ' . $e->getmessage(); 
     $this->error_count++; 
    } 

... weil die Skript beendet noch auf einer PDO Ausnahme:

[PDOException] SQLSTATE [23000]: Integrität Einschränkungsverletzung: 1062 doppelte Eintrag '14' für Schlüssel ‚lapt ops_asset_tag_unique '

Also, wie bekomme/handle ich PDO-Fehler?

Antwort

2

Haben Sie Ihre Exception Namespace?

Sie müssen die PDOException in Ihre Klasse importieren, um sie zu verwenden. Fügen Sie die folgende Anweisung an den Anfang Ihrer PHP-Datei

use PDOException; 
+0

Dies ist ein weiterer Fehler ist, dass erhöhen wird: Klasse nicht gefunden ‚PDOException‘ ... (falls vorhanden) –