ここLaravel 5.6でこのパッケージを使用して、プロジェクトにいいねシステムを追加しています。
ドキュメントに従ってモデルを更新しました。ただし、このパッケージの使用方法については混乱しています。
ログインしたユーザーがリンクにアクセスしたときに特定の記事のいいねリストに追加する次のことを試してみました。
public function show(ArticleCategory $articlecategory, $slug)
{
$categories = ArticleCategory::all();
$article = Article::where('slug', $slug)->first();
$user = User::first();
$user->addFavorite($article);
return view('articles.show', compact('article', 'categories'));
}
そして私のユーザーダッシュボードでは、ユーザーが好きなすべての記事を引き出すことができます
$user = Auth::user();
$favoritearticles = $user->favorite(Article::class);
しかし、記事ページにボタンがあり、ログインしたユーザーがクリックすると、いいねリストに追加される機能を探しています。私はこれを試したことがないので、この時点で立ち往生しています。
交換しました
$user->addFavorite($article);
と
$user->toggleFavorite($article);
しかし、それはお気に入りのリストを切り替えるだけです。つまり、一度リンクにアクセスすると、ログインしているユーザーがいいね! リストに追加されます。リンクに 2 回目にアクセスすると、ログインしているユーザーがいいね! リストから削除されます。サイクルが繰り返されます。
ボタンで同様の機能を実現する方法を誰かに説明してもらえますか?