我能够以这种方式连接到symfony2中的doctrine:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
mapping_types:
enum: string
orm:
auto_generate_proxy_classes: false
proxy_namespace: Proxies
proxy_dir: Proxies
default_entity_manager: default # The first defined is used if not set
entity_managers:
default:
connection: default
mappings: # Required
ApplicationUserBundle:
type: annotation
class_metadata_factory_name: Doctrine\ORM\Mapping\ClassMetadataFactory
dql:
datetime_functions:
UNIX_TIMESTAMP: DoctrineExtensions\Query\Mysql\UnixTimestamp
现在我的问题是如何在上面的配置中使用它?
$ config-> setSQLLogger(new Doctrine \ DBAL \ Logging \ EchoSQLLogger());
我的意思是与this不同的另一种方式。因为这是一个$ config方法,我想应该可以在config.yml中使用它,但是如何?
块引用
答案 0 :(得分:1)
您需要填写一些配置参数
在doctrine.yaml
配置文件中启用日志记录
doctrine:
dbal:
logging: true
在services.yaml
配置文件中设置记录器类
services:
doctrine.dbal.logger:
class: Doctrine\DBAL\Logging\EchoSQLLogger
在使用php bin/console cache:clear
之前,请不要忘记清理Symfony缓存