Php Laravel使用vue访问模型上的自定义方法
我目前正在尝试在我的社交laravel项目中实现一个喜欢的特性,我正在使用这个设计。like表是用户和Post表的轴心,是一种多对多关系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')-
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(););