Laravel使用Vue在模型上访问自定义方法

时间:2019-03-31 10:13:47

标签: php laravel vue.js model

我目前正在尝试在我的社交laravel项目中实现一个喜欢的功能,并且我正在使用这种设计。 like表是User和Post表的枢纽,是多对多关系。

public function likePost(Post $post)
{            
     Auth::user()->likes()->attach($post->id);
      return response (post::with('user','likes','comments.user')- 
      >orderBy('created_at','DESC')->get());

        }

 }

    /**
     * Unfavorite a particular post
    *
    * @param  Post $post
    * @return Response
    */
    public function unlikePost(Post $post)
    {
        Auth::user()->likes()->detach($post->id);
        return post::with('user','likes','comments.user')- 
        >orderBy('created_at','DESC')->get();

    }

有LikeController的代码

在用户模型中定义了关系之后,我创建了一种方法来检查帖子是否在我的帖子模型中被点赞

  public function liked()
  {
    return (bool) Like::where('user_id', Auth::id())
    ->where('post_id', $this->id)
    ->first();
  }

有邮政模型的代码。这应该检查帖子是否被喜欢。

所以我还设置了一个vue组件,它带有两个道具

<like :post={{ $post->id }}
      :favorited={{ post.liked ? 'true' : 'false' }}>
</like>

所以我现在的主要问题是我将like作为子组件使用,如何在Vue实例上调用liked()方法,如果它是刀片的话

<like :post={{ $post->id }}
      :favorited={{ $post->liked() ? 'true' : 'false' }}>
</like>

我该如何使用vue?

0 个答案:

没有答案