mysql json结果中的领域iOS关系

mysql json结果中的领域iOS关系,ios,relationship,realm,Ios,Relationship,Realm,我想对我的iOS应用程序使用领域,但我的关系有问题。我想要实现的是以下两个rlmobject之间的关系: class Catalogue: RLMObject { dynamic var ID = "" dynamic var greekName = "" dynamic var deutschName = "" dynamic var createdAt = NSDate() dynamic var updatedAt = NSDate()

我想对我的iOS应用程序使用
领域
,但我的关系有问题。我想要实现的是以下两个
rlmobject
之间的关系:

class Catalogue: RLMObject {

     dynamic var ID = ""
     dynamic var greekName = ""
     dynamic var deutschName = ""
     dynamic var createdAt = NSDate()
     dynamic var updatedAt = NSDate()

     override class func primaryKey() -> String? {
        return "ID"
    }
}

class Products: RLMObject {

     dynamic var foodName = ""
     dynamic var foodDescription = ""
     dynamic var foodPrice = ""
     dynamic var createdAt = NSDate()
     dynamic var updatedAt = NSDate()

     dynamic var category: Catalogue?
}
我正在以
JSON
格式从服务器检索所有数据,问题是

我无法将类别设置为与目录ID的关系

在我的数据库中,“类别”字段是目录ID的外键

有人知道我在这个领域怎么做吗


提前谢谢。

您需要找到目录对象并直接存储,而不是将目录ID存储在
动态变量类别:目录?
关系字段中。这就是链接对象的方式,是使用NoSQL类型DB类领域的一个重要而强大的部分

我还将在目录中添加一系列
产品
关系,以便您可以将所有产品链接到目录本身


如果这还不完全清楚的话,你可以看到更多关于这个的讨论。希望这有帮助

您能给我一个代码示例吗?我也读了链接,但对我来说不太清楚。设置
类别
的唯一方法是将
目录ID
设置为
字符串
,我没有任何关系。假设您的catalogeID=47。首先,您需要获取目录对象
let catalogObject=Realm().objectForPrimaryKey(catalog.self,catalogeId:“47”)
,然后您可以获取一个产品
let product=product()
,然后执行
product.catalogy=catalogObject
。现在,当您存储
产品时,它将链接到适当的类别。请注意,链接是通过直接链接对象而不是通过外键进行的。让我知道这是否是明确的链接我得到它。我从数据库中获取类别id作为一个数字。老实说,我不明白如何将此号码链接到Catalague
。我可以给你一个Json结果
{“category_id”=2;“created_at”=“2015-08-16 17:51:40”;“food_description”=“Hausgemachtes Knoblauchbrot”;name=Skordopsomo;price=“2,50”;“updated_at”=“2015-08-16 17:51:40”}
我如何链接到该
category_id
?我想做的是从Json结果中读取它,然后创建与
catalog.ID
的关系。好的,谢谢@yoshyosh的帮助。我根据您的示例对其进行了修复,但在新的Swift中,我是这样使用的
让CatalogeObject=Catalog(forPrimaryKey:products[“category\u id”]as!String)
。现在我必须学习如何根据这种关系进行查询。啊,是的,很抱歉!太好了,所以如果您想获得该目录中的所有产品,只需执行
Realm().objects(products).filter(“category=%@”,catalogeObject)
。如果同一目录对象的
category\u id
为2,则将返回属于该目录的所有产品。