erLhcoreClassModelDepartamentGroupMember::updateUserDepartmentsIds PHP Method

updateUserDepartmentsIds() public static method

public static updateUserDepartmentsIds ( $userId )
    public static function updateUserDepartmentsIds($userId)
    {
        $db = ezcDbInstance::get();
        $stmt = $db->prepare('SELECT dep_id FROM lh_userdep WHERE user_id = :user_id');
        $stmt->bindValue(':user_id', $userId);
        $stmt->execute();
        $departments_ids_array = $stmt->fetchAll(PDO::FETCH_COLUMN);
        $stmt = $db->prepare('UPDATE lh_users SET departments_ids = :departments_ids WHERE id = :user_id');
        $stmt->bindValue(':user_id', $userId);
        $stmt->bindValue(':departments_ids', is_array($departments_ids_array) ? implode(',', array_unique($departments_ids_array)) : '');
        $stmt->execute();
    }

Usage Example

 public function afterRemove()
 {
     $db = ezcDbInstance::get();
     $stmt = $db->prepare('DELETE FROM lh_userdep WHERE dep_group_id = :dep_group_id AND user_id = :user_id');
     $stmt->bindValue(':dep_group_id', $this->dep_group_id);
     $stmt->bindValue(':user_id', $this->user_id);
     $stmt->execute();
     erLhcoreClassModelDepartamentGroupMember::updateUserDepartmentsIds($this->user_id);
 }