Magento2 如何获取最近2周的贷项通知单收集

问题

我看到
Magento\Sales\Model\Order\CreditmemoFactory有createByOrder和createByInvoice方法,但我做不到
->create()->addAttributeToFilter('created_at'

无论何时下订单,我都希望获得过去两周的贷项通知单

所以我做不到
$order->getCreditmemosCollection()
有任何想法吗?

答:

如果我正确地理解了您的问题,那么您希望加载过去2周内创建的所有贷项通知单,而不考虑订单的创建时间。您是否考虑过使用服务合同来加载数据?

您需要将以下2个类注入到构造函数中。在SearchCriteriaBuilder类创建搜索条件(过滤器),以及CreditmemoRepositoryInterface用于装载贷项通知单。

\Magento\Sales\Api\CreditmemoRepositoryInterface
\Magento\Framework\Api\SearchCriteriaBuilder

建立搜索条件:

$yourDate = '2017-01-01';
$searchCriteria = $this->searchCriteriaBuilder
    ->addFilter(
        'created_at',
        $yourDate,
        'gt'
    )->create()
;

然后从资源库获取贷项凭证:

$creditmemos = $this->creditmemoRepository
    ->getList($searchCriteria)
    ->getItems()
;

从那里,您应该能够遍历数组,加载所需的任何数据:

foreach ($creditmemos as $creditmemo) {
    echo $creditmemo->getAdjustment();
}

您可以$creditmemo在类中看到可用的方法来调用\Magento\Sales\Api\Data\CreditmemoInterface

版权属于: sbboke版权所有。

转载时必须以链接形式注明作者和原始出处及本声明。

张贴在magento2教程

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论