Phalcon Slayer возвращает "0" для идентификатора модели после создания / сохранения - PullRequest
1 голос
/ 09 июля 2020

Я использую Phalcon Slayer framework для своего проекта, но когда я пытаюсь создать / сохранить экземпляр модели в базе данных, я сталкиваюсь с проблемой, что поле id всегда возвращает «0» в моем модель

$customer = new Customer();
$customer->name = "John";
$customer->age = 18;
$customer->create();
dd($customer->id); // return "0"

Данные успешно сохранены в базе данных, поле id содержит правильные (автоинкремент) данные.

Если я попробую использовать необработанный Phalcon, он будет работать правильно (вернуть правильный идентификатор)

Я нашел решение, которое устанавливает 'persistent' => true в конфигурации базы данных. И он возвращает идентификатор правильно.

'mysql' => [
    'host'     => env('DB_HOST', 'localhost'),
    'port'     => env('DB_PORT', 3306),
    'username' => env('DB_USERNAME'),
    'password' => env('DB_PASSWORD'),
    'dbname'   => env('DB_DATABASE', 'slayer'),
    'persistent' => true,
    'charset'  => env('DB_CHARSET', 'utf8'),
    'class'    => Phalcon\Db\Adapter\Pdo\Mysql::class,
],

Но я не уверен, что это решение - правильный подход. Может ли кто-нибудь помочь мне показать, что здесь не так и что мне делать?

FYI:

  • PHP 7.2 (я также пробую с 7.0 и 5.6)
  • Phalcon 3.4
  • MySQL 8.0 (тоже пробую с 5.4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...