public function getWhere()
    {
        switch (count($this->where)) {
            case 0:
                return '';
            case 1:
                return $this->where[0];
            default:
                return implode(' AND ', array_map(function ($condition) {
                    return "($condition)";
                }, $this->where));
        }
    }