public function union($fields, $second)
    {
        return array_map(
            'unserialize', array_unique(
                array_map(
                    'serialize', array_merge(
                        $this->select($fields),
                        $second->select($fields)
                    )
                )
            )
        );
    }