0

状況:

Doctrineエンティティである単純なUserクラスがあります(コードを短くするためにコメントをスキップしました):

class User {
  protected $iUserId;
  protected $sName;
}

質問:コントローラから
クラスのオブジェクトのコレクションを取得する方法は?User

補足: 今までは、DB からデータを取得し、クラス オブジェクトを作成して返すgetUsers()inクラスのようなメソッドを作成していました。UserUser

さて、UserCollectionデータの取得とUserオブジェクトの作成を処理するようなクラスを作成するのがより良い解決策ではないのでしょうか? \Doctrine\Common\Collections\Collection多分私はクラスを何らかの形で利用する必要がありますか?

私が達成したいのは、つまりwhere句を処理する簡単な方法です。UserCollectionクラスにはQueryBuilder、次のようにコントローラーから操作できるオブジェクトを含めることができます。

$oUserCollection = new UserCollection();
$oUserCollection->setWhere( 'u.iUserId = 1' );
$aUsers = oUserCollection->getUsers();
...

そのトピックについてあなたの考えを共有してください。

更新: Doctrine は、エンティティのリポジトリの概念を提供します。これは、おそらく私が探しているソリューションだと思います。

4

1 に答える 1