-1

混乱させて申し訳ありませんが、私の問題を説明するために最善を尽くします。

Document という名前のエンティティと、Customer という名前の別のエンティティがあります。ドキュメントには、CustomerID という名前の属性があり、Customer 属性 CustomerID から割り当てられ、updatedDate 属性があります。

最新の 10 個のドキュメントを取得したいのですが、CustomerID ごとに最新のものだけを取得します。

4

1 に答える 1

0

私があなたを正しく理解しているなら、あなたは特定の顧客から最新の10のドキュメントを入手したいですか?簡単だ。

NSFetchRequest *request = [[NSFetchRequest alloc] init];
   request.entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext];//Specify the entity Name
   request.predicate = [NSPredicate predicateWithFormat:@"customerID = %@",customerID];//Specify the ID you need
   request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"updatedDate" ascending:YES]];//Sorted by most recent ones
   request.fetchLimit = 10;//You'll get ten latest Documents
   NSError *error = nil;

 latestDocuments =  [managedObjectContext executeFetchRequest:request error:&error];

編集

私たちが知ったように、タスクは最新の10個のドキュメントを取得することですが、顧客ごとに1つだけであるため、これをなんとか効率的に行う方法は実際にはわかりません(つまり、INクエリがないと、既に取得したcustomerIDが含まれます) 、しかし、顧客に新しい1対1の高揚感を追加するためのjuat- latestDocumentとその逆で、 isLatestToCustomerがnilではないドキュメントにリクエストを送信するだけです。

于 2012-04-10T12:28:11.183 に答える