我具有以下数据库结构:
items: id, name, user_id users table: id, name user_favorites table: id, user_id, item_id
在我的项目永久链接页面上,我有一个“添加到收藏夹”按钮,可在其中插入新行 user_favorites
user_favorites
如果用户已经在收藏夹中将其替换为“从收藏夹中删除”按钮,我希望能够将其替换。
我无法弄清楚其背后的逻辑-是否需要检查其中是否存在user_favorites具有当前用户ID和永久链接ID的行?这对我不起作用:
if (Auth::user()->id) { if (!is_null(DB::table('user_favorites')->where('user_id', '=', Auth::user()->id)->where('item_id', '=', $item->id)->first())) { // remove from favorites button will show } }
您可能想要这样的东西:
$user_favorites = DB::table('user_favorites') ->where('user_id', '=', Auth::user()->id) ->where('item_id', '=', $item->id) ->first(); if (is_null($user_favorites)) { // It does not exist - add to favorites button will show } else { // It exists - remove from favorites button will show }