Php Laravel使用vue访问模型上的自定义方法

Php Laravel使用vue访问模型上的自定义方法,php,laravel,vue.js,model,Php,Laravel,Vue.js,Model,我目前正在尝试在我的社交laravel项目中实现一个喜欢的特性,我正在使用这个设计。like表是用户和Post表的轴心,是一种多对多关系 public function likePost(Post $post) { Auth::user()->likes()->attach($post->id); return response (post::with('user','likes','comments.user')-

我目前正在尝试在我的社交laravel项目中实现一个喜欢的特性,我正在使用这个设计。like表是用户和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();

    }
这是LikeControl的代码

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

  public function liked()
  {
    return (bool) Like::where('user_id', Auth::id())
    ->where('post_id', $this->id)
    ->first();
  }
这是Post模型的代码。这是为了检查这篇文章是否受到欢迎

因此,我还设置了一个vue组件,其中包含两个道具

<like :post={{ $post->id }}
      :favorited={{ post.liked ? 'true' : 'false' }}>
</like>
id}
:favorited={{post.liked'true':'false'}}>
因此,我现在的主要问题是,我将like用作子组件,如果它是blade,我将如何在Vue实例上调用like()方法

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

如何使用vue实现这一点???

您能告诉我如何在控制器中检索帖子的逻辑吗?Route::get('/home/posts',function(){返回响应(App\post::with('user','likes','comments.user')->orderBy('created_at','DESC')->get(););您能告诉我如何在控制器中检索帖子的逻辑吗?Route::get('/home/posts',function(){return response(App\post::with('user','likes','comments.user')->orderBy('created_at','DESC')->get(););