如何在Zend Framework 2中配置主义扩展? [英] How to configure doctrine extensions in Zend Framework 2?
本文介绍了如何在Zend Framework 2中配置主义扩展?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已将这一行添加到我的composer.json中:
I have added this line to my composer.json:
"gedmo/doctrine-extensions": "dev-master"
这是在我的模块的module.config.php中:
And this is inside my module's module.config.php:
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity'),
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
),
),
),
),
然后,我想在实体中使用带有时间戳记的注释,例如:
Then I want to use timestampable annotaion in my entities, for example:
/**
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime",nullable=true)
*/
private $created;
/**
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime",nullable=true)
*/
private $updated;
但这不起作用.当我使用上述批注保留实体时,创建和更新的列为NULL.
But that doesn't work. When I persist the entity with above annotations, the created and updated columns are NULL.
推荐答案
解决方案是将我的module.config.php更改为以下形式:
The solution was to change my module.config.php to be more like this:
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity'),
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
),
),
),
'eventmanager' => array(
'orm_default' => array(
'subscribers' => array(
'Gedmo\Timestampable\TimestampableListener',
'Gedmo\SoftDeleteable\SoftDeleteableListener',
),
),
),
),
这篇关于如何在Zend Framework 2中配置主义扩展?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文