Advanced WP Query and/or

I am not 100% sure what you are asking but as written that is going to be wrong. tax_query is an array of arrays but you have an array of array of arrays. You create the third array when you put $taxQuery into array($taxQuery). This should be more correct:

$args = array(
     'post_type'            => $postType, //assume 'post'
     'cat'                  => $cat_id, //currently a single id
     'tax_query'            => $taxQuery,
     'orderby'              => 'date',
     'post_status'          => 'publish',
);

With your version, if you var_dump the query you can see 0=1 in the SQL which reflects the broken tax_query, and if you have debugging enabled you can see Notices.

Unfortunately, you can’t do a complicated query like this one…

Select * from Posts where ( cat_id = 1 OR ( cat_id = 5 AND tag_id = (5,6,7) ))

… with WP_Query. The nested conditions in the WHERE are too complex for WP_Query.

You have several options:

  1. Write the SQL yourself
  2. Let WP_Query do part of the work and alter, at the very least, the
    WHERE clause with posts_where
  3. Run several queries to grab the data.

The latter would look something like:

$post_ids = new WP_Query(array(
  // query for one post type
  'fields' => 'ids',
  // other parameters
));

$post_ids_2 = new WP_Query(array(
  // query for the others
  'fields' => 'ids',
  // other parameters
));
// join them
$post_ids = $post_ids->posts + $post_ids_2->posts;
$posts_qry = new WP_Query(array('post__in'=> $posts_ids));

That is taken from another answer so none of the parameter are right for you but that should give you idea. That is by far the easiest solution but also the least efficient.