特定の属性と一致するかどうかを確認して、データを取得したい 2 つのテーブルがあります。
述語などを書きたいのですが、解決策を思いつくことができないようです: @"Data.item == Item.code"
.
リレーションシップを使用しない理由は、データベースが mysql からインポートされたためです。したがって、すべてのデータはアプリの外部から取得され、ダウンロードされた mysql テーブルから同期されます。
- - - - - - - - - - - - - -編集 - - - - - - - - - - - --- 私がこれまでに多くのことを試してきたのは、私が今これをやっているくだらない方法です。おそらくこれから私がやろうとしていることをもっと理解できるでしょう。
NSPredicate * Newpredicate = [NSPredicate predicateWithFormat:@"hid == 2"];
NSArray *row2 = [db DLook:Newpredicate table:@"Data"];
for (NSManagedObject *data in row2) {
NSLog(@"\n\n\n\nid\n\n\n\n: %@", [data valueForKey:@"id"]);
NSString *itemToCode = [data valueForKey:@"item"];
NSPredicate *itemPredicate = [NSPredicate predicateWithFormat:@"code == %@",itemToCode];
NSArray *itemRow = [db DLook:itemPredicate table:@"Item"];
for (NSManagedObject *item in itemRow) {
NSLog(@"\n\n\n\ncode : %@\n\n\n\n",[item valueForKey:@"code"]);
}
// NSLog(@"id: %@", [data valueForKey:@"id"]);
//NSManagedObject * itemhid= [data valueForKey:@"testRel"];
//NSLog(@"code: %@",[itemhid valueForKey:@"code"]);
}
NSLog(@"\n\n\n\n%d\n\n\n\n",[row2 count]);
DLook は、渡したテーブルの述語を使用してデータをフェッチするだけの説得メソッドです。次に、それらをループする NSmanaged オブジェクトの返された領域を取得します。
Data.items に一致するすべての Item.data を取得できる魔法の関係を作成できたらいいのにと思います!!! こんなことはしたくない、そんな関係を築きたい。
助けて ありがとう