Tôi có một mô hình thiết lập Core Data như sau:Làm thế nào để tạo ra một NSFetchRequest mà lọc các đối tượng dữ liệu cốt lõi dựa trên các thuộc tính và mối quan hệ?
- Blockbuster Entity
- To-Nhiều mối quan hệ với DVD thực thể.
- DVD Entity
- tiêu đề thuộc tính (string)
- To-Một mối quan hệ với cha mẹ Blockbuster thực thể
Một Blockbuster duy nhất có thể có nhiều DVD bên trong nó (To-Many). Mỗi đĩa DVD chỉ có thể là một phần của một bộ phim bom tấn (To-One).
Có nhiều bộ phim bom tấn và một số có thể chứa các thực thể DVD có cùng tên với các thực thể DVD từ các bộ phim bom tấn khác. Ví dụ: Bộ phim bom tấn A có thể có bản sao của "Máy biến áp 2" và do đó Bộ phim bom tấn C và Bộ phim bom tấn G. Hãy giả vờ không có Blockbuster có nhiều hơn một bản sao của cùng một bộ phim có tiêu đề.
Tôi muốn lấy Máy biến áp 2 DVD từ Bộ phim bom tấn C. Tôi không muốn các bản sao từ Bộ phim bom tấn A hoặc G, bởi vì ông chủ của tôi thường xuyên ở đó và tôi chỉ có thể loại bỏ phần rác này trong Bộ phim bom tấn C.
Câu hỏi của tôi là, làm thế nào để tạo thành một NSFetchRequest mà lấy một DVD với tiêu đề "Transformers 2", mà là một con của Blockbuster ty mẹ "C"?
Đây là loại yêu cầu sẽ lấy tất cả các "Transformer 2" DVD, nhưng không phải là người cụ thể cho các đơn vị Blockbuster C:
NSManagedObjectContext *moc = [self managedObjectContext];
NSString *aTitle = @"Transformers 2";
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title == %@", aTitle];
[request setEntity:[NSEntityDescription entityForName:@"DVD" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
// error handling code
[request release];
Có cách nào để vượt qua, nói rằng, ID Object của một đối tượng liên quan bên trong NSPredicate, lọc dựa trên đó?
Cảm ơn rất nhiều, điều đó đã làm được! Và cảm ơn vì liên kết tới tài liệu. Rất hữu ích. :) –