ユーザーが投稿を気に入っていないかどうかを確認してください。問題は、ユーザーの1人が投稿を好きなときに自分のコードで他のユーザーと気に入らないということです。どうしてか分かりません。ユーザーが投稿を好きかどうかを確認するLaravel
コントローラー:
$posts = Post::orderBy('created_at', 'desc')->paginate(10);
foreach($posts as $p){
foreach ($p->like as $like){
$like = Like::where('user_id', '=', Auth::user()->id)->get();
}
}
Post.php:
public function user(){
return $this->belongsTo('App\User');
}
public function like()
{
return $this->hasMany('App\Like');
}
Like.php:
public function user()
{
return $this->belongsTo('App\User');
}
public function post()
{
return $this->belongsTo('App\Post');
}
User.php:
public function post(){
return $this->hasMany('App\Post');
}
public function like(){
return $this->hasMany('App\Like');
}
HTML
@if($like)
<i class="fa fa-thumbs-o-up liked pull-right" aria-hidden="true"></i>
@else
<a href="/like/{{$p->id}}">
<i class="fa fa-thumbs-o-up likeBtn pull-right" aria-hidden="true"></i></a>
@endif
。あなたの$ like変数は上書きされているようです – jonju
"likes"テーブルウィッチは 'user_id '、' post_id 'に属しています。' user_id 'が' post_id 'と同じ行に存在するかどうかをチェックしたいと思います。 – feknuolis
あなたはすでに投稿を好きだった場合、投稿の好き嫌いをしたいと思っています。右? – jonju