Как можно менять значение (лайков), то есть выводить колличество лайков только в том родительском блоке блогпоста , который соответствует id блогпоста
Хотелось бы, чтоб через ajax изменялось кол-во лайков (динамически).
$(document).ready(function () {
$('a#addlike').on('click', function () {
event.preventDefault();
var id = $(this).data('id');
if (id) {
$.ajax({
url: "{{url('add/onelike')}}/" + id,
type: "GET",
dataType: "json",
success: function (data) {
if ($.isEmptyObject(data.error)) {
Swal.fire({
position: 'top-end',
icon: 'success',
title: data.success
}).then(function () {
id = $('span.numb').data('bp');
});
} else {
Swal.fire({
position: 'top-end',
icon: 'error',
title: data.error
})
}
}
});
} else {
alert('danger');
}
});
});
А вот что в представлении:
<div class="blog-meta">
<a id="addlike" data-id ="{{ $item->id }}" href="{{url('add/onelike/'. $item->id) }}">
<i class="fa fa-heart" data-id ="{{ $item->id }}">
<span class="numb" data-bp ="{{ $item->id }}">{{ $item->like }}</span>
</i>
</a>
</div>
В LikeController
вот что:
public function like($id){
$userid = Auth::id();
$check = DB::table('likes')->where('user_id', $userid)
->where('blogpost_id', $id)->first();
$data = array('user_id'=>$userid, 'blogpost_id'=>$id);
if(Auth::check()){
if($check){
return Response::json(['error' => 'Already Liked Before!']);
}else{
DB::table('likes')->insert($data);
$like = DB::table('blogposts')->where('id', $id)->increment('like');
return Response::json(['success' => 'Thanks for Your Like!']);
}
}else{
return Response::json(['error' => 'First, LogIn Your Account!']);
}
}