public function favouriteBeatmapsets() { return Beatmapset::whereIn('beatmapset_id', FavouriteBeatmapset::where('user_id', '=', $this->user_id)->select('beatmapset_id')->get()); }
public function favourite($user) { DB::transaction(function () use($user) { try { FavouriteBeatmapset::create(['user_id' => $user->user_id, 'beatmapset_id' => $this->beatmapset_id]); } catch (QueryException $e) { if (is_sql_unique_exception($e)) { return; } else { throw $e; } } $this->favourite_count = DB::raw('favourite_count + 1'); $this->save(); }); }