Step 2b: Setup MongoDB mapping
The MongoDB implementation does not provide a concrete Comment class for your use,you must create one:
MongoDB实现并不提供为您所用的具体评论类,您必须要创建一个。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php
// src/MyProject/MyBundle/Document/Comment.php
namespace
MyProject\MyBundle\Document;
use
Doctrine\ODM\MongoDB\Mapping\Annotations
as
MongoDB;
use
FOS\CommentBundle\Document\Comment
as
BaseComment;
/**
* @MongoDB\Document
* @MongoDB\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
*/
class
Comment
extends
BaseComment
{
/**
* @MongoDB\Id
*/
protected
$id
;
/**
* Thread of this comment
*
* @var Thread
* @MongoDB\ReferenceOne(targetDocument="MyProject\MyBundle\Document\Thread")
*/
protected
$thread
;
}
|
Additionally, create the Thread class:
另外,创建线索类:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
// src/MyProject/MyBundle/Document/Thread.php
namespace
MyProject\MyBundle\Document;
use
Doctrine\ODM\MongoDB\Mapping\Annotations
as
MongoDB;
use
FOS\CommentBundle\Document\Thread
as
BaseThread;
/**
* @MongoDB\Document
* @MongoDB\ChangeTrackingPolicy("DEFERRED_EXPLICIT")
*/
class
Thread
extends
BaseThread
{
}
|
Configure your application(配置您的应用程序)
In YAML:
使用YAML格式:
1
2
3
4
5
6
7
8
9
|
# app/config/config.yml
fos_comment:
db_driver: mongodb
class
:
model:
comment: MyProject\MyBundle\Document\Comment
thread: MyProject\MyBundle\Document\Thread
assetic:
bundles: [
"FOSCommentBundle"
]
|
Or if you prefer XML:
或者如果您偏好XML:
1
2
3
4
5
6
7
8
9
10
11
12
|
# app/config/config.xml
<
fos_comment:config
db-driver
=
"mongodb"
>
<
fos_comment:class
>
<
fos_comment:model
comment
=
"MyProject\MyBundle\Document\Comment"
thread
=
"MyProject\MyBundle\Document\Thread"
/>
</
fos_comment:class
>
</
fos_comment:config
>
<
assetic:config
>
<
assetic:bundle
name
=
"FOSCommentBundle"
/>
</
assetic:config
>
|
Back to the main step(返回主步骤)
Step 2: Create your Comment and Thread classes.
本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/1256896
,如需转载请自行联系原作者