0

写真とコードのようなクラスがあります

class photo  
{  
    public function __construct($UserWhosePhotoToBeGetObj)  
    {    
       $this->UserWhosePhotoToBeGetObj = $UserWhosePhotoToBeGetObj  
    }  
}

public function getPhoto()  
{  
   // some complex logic and query to get detail of photo of user.  
}

ここで問題となるのは、複数のユーザーの写真を取得したい場合で、このクラスをループで呼び出すと、多くのクエリが実行され、クラスを作成する場合はphotoArr、両方のクラスで複雑なロジックを作成する必要があります。

4

2 に答える 2

0

おそらく、ユーザーに基づいてクエリを形成するロジックを1つの関数にバンドルし、複数のユーザーの場合はその関数を何度も呼び出すことができます。複数のユーザーの収集を避けることは考えられませんでした。

于 2013-01-23T07:16:47.927 に答える
-1

「写真」はデータクラスのように聞こえます。データクラスには、物をフェッチするためのロジックを含めるべきではありません。コンストラクターで「写真を取得するユーザー」を渡すことも、かなり間違っているようです。

このようなロジックは、現在のgetPhotoのロジックを持つPhotoFetcherクラスに含める必要があります。たとえば、getPhotoForUser(User $ userForWhichToGetPhoto)。バッチフェッチもサポートできます。

于 2013-01-23T16:29:35.747 に答える