Phosphorum\Badges\Badge\Virtuoso::has PHP Method

has() public method

Check whether the user already have this badge
public has ( Users $user ) : boolean
$user Phosphorum\Models\Users
return boolean
    public function has(Users $user)
    {
        $has = false;
        $categories = $this->getExpertQuery($user)->execute([$user->id]);
        foreach ($categories as $categoryRow) {
            $category = Categories::findFirstById($categoryRow->categories_id);
            if ($category) {
                $badgeName = $category->name . ' / ' . $this->getName();
                $has |= UsersBadges::count(['users_id = ?0 AND badge = ?1', 'bind' => [$user->id, $badgeName]]) == 0;
            }
        }
        return (bool) (!$has);
    }