将meta_query与数组进行比较不起作用

时间:2016-02-08 11:58:08

标签: php arrays wordpress

在我的数据库中,我在order_products有以下条目:

a:1:{i:0;s:6:"1234";}

我尝试只显示product_id 1234的订单:

$orders = array( 
    'post_type' => 'orders',
    'year' => $year,
    'monthnum' => $month,
    'day' => $day_minus,
'meta_query' => array (
            array (
                'key' => 'order_status',
                'value' => array( 'bill', 'back', 'pay', 'completed' ),
                'compare' => 'IN'
             ),
        array (
                'key' => 'order_products',
                'value' => array('1234'),
                'compare' => '='
            )
        )
  ); 

$the_query = new WP_Query( $orders );

$total_orders = $the_query->found_posts;

compare => 'LIKE' 

它正在工作,但如果有超过单个" 1234"产品,这些订单也将显示(例如产品1234,1235和1256)。但我只想表明它是否独自存在。

我认为问题在于比较数组。

compare => "=" 

有没有办法比较数组中的单个项目" =" ?

1 个答案:

答案 0 :(得分:0)

以NUMERIC形式'value'=>给出值数组(79,200,124)以下示例

 //Note check relation with comment and uncomment form
 $args => array(
'relation' => 'AND',   
array (
            'key' => 'order_status',
            'value' => array( 'bill', 'back', 'pay', 'completed' ),
            'compare' => 'IN'
   ),

array(
    'key' => 'order_products',
    'value' => array ( 79, 200, 124)
    'compare' => '=',
    'type' => 'NUMERIC'

) )

任何问题欢迎。