Я использую 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)