Refactor predicate builder when receiving empty hash

There's no need to create a new arel table or reflect on the column
association if the value is empty, these attributes are not used.

Also no need to concat a new array, just append the query value.