如何在DreamFactory中从关联表筛选指定字段
解决DreamFactory虚拟关联仅获取部分字段的问题
我帮你搞定这个问题,DreamFactory里虚拟关联的字段筛选确实有特定的语法,你之前用的name_of_related.field格式直接放在主fields参数里是行不通的,正确的做法是把关联字段的筛选嵌套在related参数里,具体操作如下:
正确的参数构造方式
你需要在related参数里针对虚拟关联名称添加字段筛选规则,格式是关联名称{fields=字段1,字段2,...}。比如你的虚拟关联名称是fe_users_by_fe_user_id,想要获取它的username字段,同时主表需要id,content字段,那么请求参数应该写成:?fields=id,content&related=fe_users_by_fe_user_id{fields=username}多关联多字段的情况
如果有多个虚拟关联,或者单个关联需要多个字段,用逗号分隔即可:?fields=id,content&related=fe_users_by_fe_user_id{fields=username,email},another_assoc{fields=name,phone}关键注意点
- 虚拟关联的名称必须和你在Schema中定义的完全一致,大小写敏感
- 不要在主
fields参数里包含关联表的字段,这正是你之前触发"Invalid field requested"错误的原因 - 如果需要获取关联表的所有字段,直接写关联名称即可(也就是你之前成功的那种方式)
内容的提问来源于stack exchange,提问作者marcus n
相关产品推荐
相关产品推荐

