点击一个按钮,触发一个功能在模型-拉拉威尔8



我正试图在我的Laravel博客上创建一个书签功能,为帖子添加书签。我在我的User.php模式中有这个功能

public function bookmark($object)
{
if($this->isBookmarked($object)) {
return $this->bookmarks()->where([
['bookmarks.post_id', $object->id]
])->delete();
}

return $this->bookmarks()->create(['post_id' => $object->id]);
}

当用户点击我书签中的这个按钮时,我似乎不知道如何触发上面的功能

<button type="submit"><i class="bi bi-bookmark-heart-fill text-2xl ml-4"></i></button>

Laravel中有类似javascript onclick函数的功能吗?

没有Laravel中没有javascript onclick函数,但您可以使用javascript onclicck事件向您的Laravel路由发出ajax请求,以触发函数

示例

<button type="submit" onclick="addBookmark({{ $blog->id }});"><i class="bi bi-bookmark-heart-fill text-2xl ml-4"></i></button>

以及js函数

function addBookmark(blogId){
$.ajax('/yourDomainAndYourRoute', {
type: 'POST',
data: { blog_id: blogId },
success: function (data, status, xhr) {
// handle the success part
},
error: function (jqXhr, textStatus, errorMessage) {
// handle the failed part
}
});
}

我希望这对有帮助

最新更新