我有兩個實體「CAR」和「COLOR」。CoreData Swift 3 - 如何加入兩個實體?
在「顏色」我有兩個屬性。
- ID
- 名
在 「CAR」 我有三個屬性。
- ID
- colourId
- carName
「COLOR」 中的 「車」 有關colourId的ID。
請大家幫我寫一個謂詞來生成一種顏色的汽車陣列嗎?
我有兩個實體「CAR」和「COLOR」。CoreData Swift 3 - 如何加入兩個實體?
在「顏色」我有兩個屬性。
在 「CAR」 我有三個屬性。
「COLOR」 中的 「車」 有關colourId的ID。
請大家幫我寫一個謂詞來生成一種顏色的汽車陣列嗎?
不要這樣做。使用外鍵是您在數據庫中執行的操作。 CoreData不是數據庫。
在數據模型中,在汽車中創建一個名爲「color」的關係,並將其類型設置爲color
。
然後在顏色中創建一個稱爲cars
的「多」關係並將其類型設置爲car
。
現在你有一個財產Car
叫color
將包含顏色對象。
而Color
中的一個屬性叫做cars
,它將成爲具有該顏色的所有Cars
的集合。
Ok完成,我將如何編寫一個獲取關係的獲取謂詞? –
@DevidasMDas你不需要。只需取出「汽車」,然後使用顏色......「car.color」。或者,如果你想讓所有的汽車獲得特定的顏色,就可以使用'color'並使用'color.cars'。沒有必要**加入**任何東西。只需使用關係屬性。 – Fogmeister
@DevidasMDas你可以爲'Car'創建一個fetch謂詞,例如''color.id == 1'。然後這將獲取'color'屬性具有'id'屬性爲1的所有汽車。或者'color.name =='blue'',這樣做也是一樣。 – Fogmeister
您需要在'COLOUR'和'CAR'之間建立'關係'。不要只添加'colourID'。否則,您需要先查詢兩個查詢才能從給定的COLOUR中獲取COLOR-ID,然後從COLOR-ID中獲取CAR。 –