1

DoctrineのQuery\Builderをスタンドアロンツールとして使用している人はいますか?

クエリマネージャーには、MongoDBで要求されたドキュメントの定義済みクラスが必要なようです。

次のような定義済みのクラスがある場合:

<?php

namespace Documents;

/** @Document */
class User
{
    // ...

    /** @Field(type="string") */
    private $username;
}

次に、次のことを実行できます。

<?php

$user = $dm->createQueryBuilder('User')
    ->field('username')->equals('jwage')
    ->getQuery()
    ->getSingleResult();

ドキュメントクラスを定義せずにQuery\Builderを使用する方法はありますか?

助けてくれてありがとう。

4

1 に答える 1

1

ClassMetaDataを入手したら、すぐにQueryBuilderを使用できます。このクラスメタデータは、クラスプロパティをデータ型、関連付けなどの内部情報にマッピングするためのものです。

実際のクラスがなくても、このクラスメタデータを定義できます。さまざまなアプローチがありますが、そのうちの1つは、Doctrine\ODM\MongoDB\Tools\DisconnectedClassMetadataFactoryクラスを使用し、yamlまたはxmlマッピングを使用して関連情報をフィードすることです。

適切なオプションを使用してDocumentManagerを構成する必要がありclassMetadataFactoryNameます。

于 2012-02-12T14:13:07.263 に答える