0

ホテル、カテゴリー、ルームの 3 つのモデルがあるとします。ホテルには多くのカテゴリがあり、カテゴリには多くの部屋があります。

特定のホテルのすべての部屋番号の配列を取得したいと考えています。

Rails では、ActiveRecord を使用すると、次のようになります。

class Hotel
  has_many :categories
  has_many :rooms, through: :categories
end
class Category
  has_many :rooms
end

次に、ホテル オブジェクトがある場合、クエリは次のように単純になります。

hotel.rooms.map(&:room_number)

そして、ホテルの部屋番号の配列を取得します。

Objective-C と Core Data で同じことを達成するにはどうすればよいですか? MagicalRecord はこの種の抽象化に役立ちますか? 現在の ORM はこのようなものをサポートしていないため、SQL ステートメントを直接記述する必要がありますか?

ありがとう、ニコラス

4

2 に答える 2

0

Core Data、特に Magical Record を使用して SQL クエリを記述する必要はありません。オブジェクトと関係を取得する方法に関するドキュメントへのリンクは次のとおりです。

簡単な例は次のとおりです。

NSArray *rooms = @[@1, @2, @3, @4];
NSPredicate *roomFilter = [NSPredicate predicateWithFormat:@"Rooms IN %@", rooms];

NSArray *rooms = [Person MR_findAllWithPredicate:roomFilter];

これは単なるコード例であり、完全に機能し、テスト済みのソリューションとして扱わないでください。

于 2013-10-17T22:02:06.147 に答える