2017-02-15 3 views
0

ich ein Migrationsskript in cakephp gemacht und lief das Skript mit dem Befehl CakePHP 3 Migration Ausgabe

mein Code in der oben() Funktion "ist/Kuchen Migrationen Migration":

$preparedArray=[ 
    'name'=>'dhruv', 
    'surname'=>'sharma' 
]; 
$table = $this->table('name'); 
$table->insert($preparedArray); 
$table->saveData(); 

wenn Ich führe den Befehl, ich bekomme einen schwerwiegenden Fehler: - "Uncaught type error Argument 1 übergeben an Cake \ Console \ ConsoleErrorHandler :: handleException() muss eine Instanz von Exception sein, Instanz von Err oder in C gegeben: - Projekte - - \ meinProjekt \ Hersteller \ CakePhp \ CakePHP \ src \ Konsole \ ConsoleErrorHandler.php: 64 "

Ich benutze CakePHP 3.0.6 und PHP 7.0.4

Bitte helfen

+0

Die [CakePHP/3 Release Notes] (https://bakery.cakephp.org /2015/03/22/CakePHP-3-0-0-is-Here.html) erwähne PHP/7 nicht einmal. Ich vermute, dass es einfach nicht unterstützt wird. Möglicherweise müssen Sie auf etwas Neueres wie 3.4 upgraden. –

+0

@ndm Unterstützt der 3.0.x-Zweig PHP/7? Es sieht aus wie ein Problem mit CakePHP Internals, nicht etwas, das der Benutzer beheben kann. –

+0

@ ÁlvaroGonzález Hängt davon ab, wie du es schaust, denke ich. AFAIK funktioniert im Allgemeinen mit PHP7, hat aber keine hundertprozentige Kompatibilität behauptet. Das 'Error'-Behandlungsproblem wurde erst ab '3.1.5' behoben, was zu diesem Zeitpunkt die letzte PHP7-Inkompatibilität war. Wenn ich mich nicht irre, wurde die volle PHP7-Kompatibilität ab diesem Zeitpunkt beansprucht. – ndm

Antwort

0

Nun, ich cakephp3 installierten Computer nicht mit mir habe, so kann ich die Datei nicht überprüfen, die Ausnahme zu werfen. Ich werde Ihnen vorschlagen, dies zu versuchen, in up-Funktion // Namen unter der Annahme Tisch $namesTable = TableRegistry::get('Names'); $name = $namesTable->newEntity(); $name->name = 'dhruv'; $name->surname = 'sharma'; $namesTable->save($name);