Фильтры Magento 1.9 sales_order.list с условием ИЛИ - PullRequest
0 голосов
/ 19 июня 2019

Когда я вызываю список заказов через API (sales_order.list), я могу отфильтровать список по условию И, но не по условию ИЛИ.Мне нужно добавить фильтр следующим образом: получить все заказы, созданные или обновленные на дату X.

В документации Magento приведен пример фильтров AND ($ updatefilter = array (array (some => условие, someOther =>условие)) и эти работы. Я не смог найти ни одного примера для условия ИЛИ, поэтому я попытался использовать тот же код, который я использовал бы при фильтрации коллекции, но ни один из них, похоже, не работает

Итак, этоэто условие 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%"),
);

В основном мне нужен списокордеров, созданных ИЛИ, обновленных к определенной дате. Все попытки, которые я до сих пор пытался, дают мне либо фильтр И, либо ошибку sql, потому что magento не может видеть атрибут и использовать индекс для выполнения запроса (поэтому запрос становится "ГДЕ («0», как «create_at») вместо того, чтобы «создавать_at», как $ date)

Есть ли способ отфильтровать вызов мыла с условием ИЛИ?

...