3

私はこのバックエンドレステーブルを持っています:PostsそしてComments

Posts には、commentsComments テーブルと 1 対多の関係を持つ列があります。

私はcommentslatestOrder の最初の動作を取得しようとしています。

現在、次のクエリがあります。

  let query = BackendlessDataQuery()
  let queryOptions = QueryOptions()
  queryOptions.pageSize = size
  queryOptions.related = ["comments", "comments.user", "user", "media"]
  query.queryOptions = queryOptions
  // Used PostObject since it is already mapped using `mapTableToClass`
  backendlessInstance.persistenceService.of(PostObject.ofClass()).find(
    query,
    response: { backendlessPostsList in
      let backendlessPostsListOfOffset = backendlessPostsList.getPage(offset)
      guard let postObjects = backendlessPostsListOfOffset.getCurrentPage() as? [PostObject] else {
        reject(BackendlessError.InvalidTypeForObject(name: "Post"))
        return
      }
      return postObjects
    },
    error: { fault in
      // TODO Find a way to convert a Fault to ErrorType
      print("Server reported an error (1): \(fault)")
    }
  )

ビューモデルで Post.comments をソートするために現在行っていることは、それを逆にすることです。Post.comments.reverse().

commentsバックエンドレス レベルで明示的に並べ替える方法はありますか?

4

2 に答える 2

3

を使用する場合はオプションがありませんrelated。このため、対多ではなく、対1の関係にのみ使用する必要があります。1 対 2 の関係であれば問題ありません。

そのため、特定のページ サイズと並べ替え順序を指定できるように、コメントを個別に要求する必要があります。ソートする変数を指定する場合 ( )、またはソートの方向を指定する (so )createdこともできることに注意してください。ascdesccreated desc

于 2016-06-08T09:01:30.377 に答える