天天看點

FOSCommentBundle功能包:設定Doctrine ODM映射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

<code>&lt;?php</code>

<code>// src/MyProject/MyBundle/Document/Comment.php</code>

<code>namespace</code> <code>MyProject\MyBundle\Document;</code>

<code>use</code> <code>Doctrine\ODM\MongoDB\Mapping\Annotations </code><code>as</code> <code>MongoDB;</code>

<code>use</code> <code>FOS\CommentBundle\Document\Comment </code><code>as</code> <code>BaseComment;</code>

<code>/**</code>

<code> </code><code>* @MongoDB\Document</code>

<code> </code><code>* @MongoDB\ChangeTrackingPolicy("DEFERRED_EXPLICIT")</code>

<code> </code><code>*/</code>

<code>class</code> <code>Comment </code><code>extends</code> <code>BaseComment</code>

<code>{</code>

<code>    </code><code>/**</code>

<code>     </code><code>* @MongoDB\Id</code>

<code>     </code><code>*/</code>

<code>    </code><code>protected</code> <code>$id</code><code>;</code>

<code>     </code><code>* Thread of this comment</code>

<code>     </code><code>*</code>

<code>     </code><code>* @var Thread</code>

<code>     </code><code>* @MongoDB\ReferenceOne(targetDocument="MyProject\MyBundle\Document\Thread")</code>

<code>    </code><code>protected</code> <code>$thread</code><code>;</code>

<code>}</code>

Additionally, create the Thread class:

另外,建立線索類:

<code>// src/MyProject/MyBundle/Document/Thread.php</code>

<code>use</code> <code>FOS\CommentBundle\Document\Thread </code><code>as</code> <code>BaseThread;</code>

<code>class</code> <code>Thread </code><code>extends</code> <code>BaseThread</code>

In YAML:

使用YAML格式:

<code># app/config/config.yml</code>

<code>fos_comment:</code>

<code>    </code><code>db_driver: mongodb</code>

<code>    </code><code>class</code><code>:</code>

<code>        </code><code>model:</code>

<code>            </code><code>comment: MyProject\MyBundle\Document\Comment</code>

<code>            </code><code>thread: MyProject\MyBundle\Document\Thread</code>

<code>assetic:</code>

<code>    </code><code>bundles: [ </code><code>"FOSCommentBundle"</code> <code>]</code>

Or if you prefer XML:

或者如果您偏好XML:

<code># app/config/config.xml</code>

<code>&lt;</code><code>fos_comment:config</code> <code>db-driver</code><code>=</code><code>"mongodb"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>fos_comment:class</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>fos_comment:model</code>

<code>            </code><code>comment</code><code>=</code><code>"MyProject\MyBundle\Document\Comment"</code>

<code>            </code><code>thread</code><code>=</code><code>"MyProject\MyBundle\Document\Thread"</code>

<code>        </code><code>/&gt;</code>

<code>    </code><code>&lt;/</code><code>fos_comment:class</code><code>&gt;</code>

<code>&lt;/</code><code>fos_comment:config</code><code>&gt;</code>

<code>&lt;</code><code>assetic:config</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>assetic:bundle</code> <code>name</code><code>=</code><code>"FOSCommentBundle"</code> <code>/&gt;</code>

<code>&lt;/</code><code>assetic:config</code><code>&gt;</code>

本文轉自 firehare 51CTO部落格,原文連結:http://blog.51cto.com/firehare/1256896,如需轉載請自行聯系原作者