Laravel Fractal不会从包含关系中返回元

时间:2016-11-29 07:02:47

标签: php laravel-5.3 json-api thephpleague thephpleague-fractal

这是我PostTransformer,其中包含了关系

public function includeComments(Post $post)
{
    if (($post->is_paid == 1 && $post->haspaid == 1) || ($post->author == $this->params) || ($post->is_paid == 0)){
        $comments = Comment::where('post', $post->id)
            ->where('is_blocked', '=', 0)
            ->select('id',
                'text',
                'author',
                'post',
                'created_at',
                'updated_at',
                'book_id',
                DB::raw("if(comments.author=$this->params,'true','false') as isauthor"))
            ->orderBy('created_at', 'ASC')
            ->paginate(5);
        $commentTransformer = new CommentTransformer($this->params);
        $commentResource = $this->collection($comments, $commentTransformer, 'comment')->setMeta(['total'=>count($comments)]);
        return $commentResource;
    } elseif ($post->is_paid == 1 && $post->haspaid == 0) {
        return $this->null();
    }

}

这也应该与meta的评论关系产生。但这里的问题是我没有得到包含关系的meta。如果有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

这是Fractal的一个已知问题。

问题

https://github.com/thephpleague/fractal/issues/339

拉取请求(打开)

有一个公开请求,要求meta包含关系。

https://github.com/thephpleague/fractal/pull/350