我只是尝试symfony 3,我使用Doctrine ORM将数据插入数据库.当我尝试运行我的查询时
$customer = new Customer();
$customer->setAddress('Some Address');
$customer->setName('Customer 1');
$order->setQuantity('100');
$order->setDate(date('Y-m-d'));
$order->setCustomer($customer);
$em = $this->getDoctrine()->getManager();
$em->persist($customer);
$em->persist($order);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
但它返回一个例外:
Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred in driver: could not find driver" at /home/hei/Sites/practice/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 121
Run Code Online (Sandbox Code Playgroud)
Parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: practice
database_user: root
database_password: null
Run Code Online (Sandbox Code Playgroud)
Config.yml
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
Run Code Online (Sandbox Code Playgroud)
我还检查扩展是否已启用并通过php -m和phpinfo()加载.它说PDO和PDO_Mysql已启用.
然后在php.ini中添加这两行:
extension=pdo.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)
但我仍然有相同的PDO例外.
我的操作系统是Ubuntu 17.1
我是 nodejs 开发的新手,我目前在我的 postgresql 上练习 CRUD 操作。我使用 Objection.js 进行 ORM 和模型制作。我遵循文档中的一些代码并编辑必要的行,但实际上并没有成功,而是返回此错误:
builder.knex(...).queryBuilder 不是函数
我遵循MVC模式,所以我根据它分离文件。
我的控制器:
'use strict';
const Todo = require('./../models/Todo');
class TodoController {
createTodo() {
Todo
.query()
.insert({
'title': 'asdasdasda',
'description': 'sdasdasdasdasdsad',
'date': '2017-12-12',
'isActive': true,
})
.then(name => {
console.log(name.description);
})
.catch(err => {
console.log(err);
});
}
}
module.exports = TodoController;
Run Code Online (Sandbox Code Playgroud)
Knex架构:
knex.schema.createTableIfNotExists('todo', (table) => {
table.increments();
table.string('title', 255).notNullable();
table.text('description').notNullable();
table.boolean('isActive').defaultTo('false');
table.datetime('date').notNullable();
table.timestamp('createdAt').defaultTo(knex.fn.now());
})
Run Code Online (Sandbox Code Playgroud)
模型:
'use strict';
const { Model } = require('objection');
class Todo extends Model { …Run Code Online (Sandbox Code Playgroud) doctrine-orm ×1
javascript ×1
mysql ×1
node.js ×1
objection.js ×1
pdo ×1
php ×1
postgresql ×1
symfony ×1