2017-02-15 39 views
0

Я сделал миграционный сценарий в CakePHP и запускал скрипт, используя команду «бен/торт миграции перенастройки»CakePHP 3 миграционная проблема

мой код в функции вверх():

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

когда Я запускаю команду, я получаю фатальную ошибку: - «ошибка типа uncaught» Аргумент 1, переданный в Cake \ Console \ ConsoleErrorHandler :: handleException() должен быть экземпляром Exception, экземпляром Err или указан в C: - Projects - - \ myproject \ vendor \ cakephp \ cakephp \ src \ Console \ ConsoleErrorHandler.php: 64 "

Я использую CakePHP 3.0.6 и PHP 7.0.4

Просьба помочь

+0

The [CakePHP/3 примечания к выпуску] (https://bakery.cakephp.org /2015/03/22/CakePHP-3-0-0-is-Here.html) даже не упоминает PHP/7. Я подозреваю, что это просто не поддерживается. Возможно, вам потребуется обновить до более нового, например, 3.4. –

+0

@ndm Поддерживает ли поддержка 3.0.x PHP/7? Это похоже на проблему с внутренними компонентами CakePHP, а не на то, что пользователь может исправить. –

+0

@ ÁlvaroGonzález Зависит от того, как вы на это смотрите. AFAIK обычно работает с PHP7, но не требовал 100% совместимости. Проблема обработки 'Error' была исправлена ​​только с' 3.1.5', что было последним несовместимым с PHP7 в этой точке, и если я не ошибаюсь, на данный момент заявлена ​​полная совместимость с PHP7. – ndm

ответ

0

Ну я не cakephp3 установлен компьютер со мной, так что я не могу проверить файл, который бросает исключение. я предлагаю вам попробовать это на функцию // предполагая имена ваша таблица $namesTable = TableRegistry::get('Names'); $name = $namesTable->newEntity(); $name->name = 'dhruv'; $name->surname = 'sharma'; $namesTable->save($name);