首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >自定义环回模型

自定义环回模型
EN

Stack Overflow用户
提问于 2018-06-07 10:02:44
回答 3查看 238关注 0票数 1

如何在环回中自定义PersistedModel?假设我有两个模型Post和Comment。一个帖子hasMany评论,但它最多只能有3条评论。如何在没有使用钩子的情况下实现?此外,我还需要在事务中执行此操作。

我是从java来的,我会这样做的:

代码语言:javascript
复制
class Post  {

   void addComment(Comment c) {

         if(this.comments.size() < 3)
              this.comments.add(c) 
         else 
           throw new DomainException("Comment count exceeded") 

   }

 }

然后我会写一个服务。

代码语言:javascript
复制
  class PostService {

      @Transactional
      public void addCommentToPost(postId, Comment comment) {
             post = this.postRepository.findById(postId); 
             post.addComment(comment)
             this.postRepository.save(post); 

      }

  }

我知道我可以这样写:

代码语言:javascript
复制
module.exports = function(app) {

      app.datasources.myds.transaction(async (models) => {

         post = await models.Post.findById(postId) 
         post.comments.create(commentData); ???? how do i restrict comments array size ? 




      })


}

我希望能够像这样使用它:

代码语言:javascript
复制
// create post 

POST /post --> HTTP 201

// add comments 

POST /post/id/comments --> HTTP 201
POST /post/id/comments --> HTTP 201
POST /post/id/comments --> HTTP 201

// should fail 

POST /post/id/comments --> HTTP 4XX ERROR
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50731977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档