具有OR条件的Magento 1.9 sales_order.list过滤器

时间:2019-06-19 10:31:49

标签: soap filter magento-1.9

当我通过api(sales_order.list)调用订单列表时,我可以按AND条件过滤列表,但不能按OR条件过滤列表。我需要添加一个这样的过滤器:获取所有在X日创建或更新的订单。

Magento文档提供了一个AND过滤器的示例($ updatefilter = array(array(some(=)条件,someOther =>条件))),并且这些方法有效。我找不到任何关于OR条件的示例,因此我尝试使用与过滤集合时使用的相同代码,但它们似乎都不起作用

因此,这是AND条件,可以正常工作:

$filters = array(array(
    'status' => array('eq' => 'processing'),
    'increment_id' => array('nlike' => "1%")
));

$list = $client->call($session, "sales_order.list", $filters);

这些是我尝试创建和条件的一些尝试,但均无效果:

$filters = array(array(
   array('created_at' => array('like'=>"$date%")),
   array('updated_at' => array('like'=>"$date%")),
));

$filters = array(
   array('created_at' => array('like'=>"$date%")),
   array('updated_at' => array('like'=>"$date%")),
);

$filters = array(array(
   array('attribute' => 'created_at', 'like'=>"$date%"),
   array('attribute' => 'updated_at', 'like'=>"$date%"),
));

$filters = array(
   array('attribute' => 'created_at', 'like'=>"$date%"),
   array('attribute' => 'updated_at', 'like'=>"$date%"),
);

基本上,我需要的是在特定日期创建或更新的订单列表。到目前为止,我尝试过的所有尝试都会给我AND过滤器或sql错误,因为magento无法看到属性并使用索引来执行查询(因此查询变为“ WHERE(像'created_at'这样的'0')),而不是是“创建日期”(例如$ date)的地方

有没有一种方法可以过滤带有OR条件的肥皂呼叫?

0 个答案:

没有答案