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);
}