Одно из решений может заключаться в том, чтобы избежать использования np.multiply.outer
и найти решение, используя умножение по типу на матрицах, которые уже были проверены, чтобы увидеть, соответствуют ли они интересующему условию (ноль в одном массиве, inf
в другом массиве ).
import numpy as np
A = np.array([0., 0., 0.4, 2])
B = np.array([float('inf'), 1., 3.4, np.inf])
# Conditions of interest
c1 = (A == 0)
c2 = (B == np.inf)
condition1 = np.multiply.outer(c1, c2)
c3 = (A == np.inf)
c4 = (B == 0)
condition2 = np.multiply.outer(c3, c4)
condition = condition1 | condition2
AA = np.multiply.outer(A, np.ones(B.shape))
BB = np.multiply.outer(np.ones(A.shape), B)
AA[condition] = 0.
BB[condition] = 0.
AA*BB
Однако это может не соответствовать запросу «эффективности» плаката.
Чтобы ответить на ваш вопрос об ошибке, вы используете неправильную магическую функцию. Ваши магические функции для этого атрибута - setDeliveryDate()
.
Вы также должны убедиться, что ваш файл events.xml имеет правильный класс для наблюдателя. <observer name="sales_order_load_delivery_date" instance="Magestore\TipAndTrick\Observer\Sales\OrderLoadAfter" />
Пока ваш класс наблюдателя: Amos\CustomOrder\Observer\Sales\OrderLoadAfter
Когда вы используете пример материала, постарайтесь не забывать изменять имена классов, пространств имен и функций, среди прочего, когда вам нужно , Вам также может понадобиться плагин репозитория заказов, чтобы фактически включить его в ответ API.
<type name="Magento\Sales\Api\OrderRepositoryInterface">
<plugin name="your_name_here_extension_attribute"
type="<Vendor>\<Module>\Plugin\OrderRepositoryPlugin" />
</type>