Mysql 自定义分类查询“;在;或;不在「;
我正在尝试处理这个查询Mysql 自定义分类查询“;在;或;不在「;,mysql,wordpress,metadata,Mysql,Wordpress,Metadata,我正在尝试处理这个查询 $query->set( 'tax_query', array( 'relation' => 'OR', array( 'taxonomy' => 'location', 'operator' => 'IN', 'field' => 'slug',
$query->set( 'tax_query', array(
'relation' => 'OR',
array(
'taxonomy' => 'location',
'operator' => 'IN',
'field' => 'slug',
'terms' => $availableRegions,
),
array(
'taxonomy' => 'location',
'operator' => 'NOT IN',
'field' => 'slug',
'terms' => $notavailableRegions,
)
));
此税务查询的sql查询为:
SELECT wp_posts.ID
FROM wp_posts
INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id) JOIN wp_icl_translations t
ON wp_posts.ID = t.element_id
AND t.element_type IN ('bla') JOIN wp_icl_languages l
ON t.language_code=l.code
AND l.active=1
WHERE 1=1
AND (
wp_term_relationships.term_taxonomy_id IN (200)
OR wp_posts.ID NOT IN (
SELECT object_id
FROM wp_term_relationships
WHERE term_taxonomy_id IN (201,203,205,206) )
)
但这不是我真正需要的
我希望查询如下:
SELECT wp_posts.ID
FROM wp_posts
INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id) JOIN wp_icl_translations t
ON wp_posts.ID = t.element_id
AND t.element_type IN ('bla') JOIN wp_icl_languages l
ON t.language_code=l.code
AND l.active=1
WHERE 1=1
AND (
wp_term_relationships.term_taxonomy_id IN (200)
/* What I need to be is this line */
OR wp_term_relationships.term_taxonomy_id NOT IN (201,203,205,206)
)
或者,如果我可以选择(“不存在”或“存在”)对我也有好处,任何关于拯救我的周末伙伴的建议。请检查数组参数序列对你的wp\u query()的影响。我已经检查了参数的顺序,如“分类法”、“字段”、“术语”,然后是运算符。请检查数组参数顺序对wp_query()的影响。我已经检查了参数的顺序,比如“分类法”、“字段”、“术语”,然后是运算符。