我目前正在尝试在我的laravel项目中实现书签功能,我正在使用此设计。 Bookmark表是User和Post表的一个支点,是一个多对多的关系
FORMAT(cast(<your column> as time), N'hh\:mm(24h)')
BookmarkController的代码
在用户模型中定义关系后,我创建了一个方法来检查帖子是否已在我的帖子模型中被收藏
public function BookmarkPost(Request $request,$id)
{
$book = Auth::guard('api')->user()->bookmarks()->attach($id);
return response()->json( $book);
}
/**
* Unfavorite a particular post
*
* @param Post $post
* @return Response
*/
public function unBookmarkPost(Request $request,$id)
{
$unbook = Auth::guard('api')->user()->bookmarks()->detach($id);
return response()->json( $unbook);
}
有Post Model的代码。这应该检查帖子是否是博彩公司。
所以我也设置了一个vue组件,它包含两个道具
public function bookmarked()
{
return (bool) Bookmark::where('user_id', Auth::guard('web')->id())
->where('job_id', $this->id)
->first();
}
所以我现在的主要问题是我使用书签图标作为子组件如何在Vue实例上调用bookmarked()方法,如果它是刀片本身就是
<bookmark-icon :id="job.id" :bookmarked="job.bookmarked ? true : false "></bookmark-icon>
我如何使用Vue?
答案 0 :(得分:1)
您无法在vuejs中访问雄辩的表单。
但是你可以在将数据传递给vuejs之前使用这种关系。
为了做到这一点,你必须急于加载它 (如果对你来说是新手,请在文档上阅读,非常有用的东西,特别是在性能方面) 您可以阅读这篇文章&#34; Importance of eager loading&#34;
这是你可以做到的,如下面的代码:
public function load_display()
{
$job = Job::bookmarked()->get();
return response()->json($job );
}