判断类别是否存在your text

我有这样的代码

 $categoryService = $this->container->get('category.repository');
    $newCategory = [
            'name' => 'Profi-Shop',
            'parentId' => null,
            'customFields' => [
        ],
    ];

    $categoryService->create([$newCategory], $context->getContext());

它每次都会被执行.只有当没有这样的类别时才如何执行

推荐答案

您需要在创建类别之前判断您的类别是否存在.如果是这样,那么只需跳过创建步骤:

use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;

$categoryService = $this->container->get('category.repository');
$newCategoryName = 'Profi-Shop';

// Search for the category first
$criteria = new Criteria();
$criteria->addFilter(new EqualsFilter('name', $newCategoryName));
$existingCategory = $categoryService->search($criteria, $context->getContext());

// Create it if there's no match found:
if ($existingCategory->getTotal() === 0) {
    $newCategory = [
        'name' => $newCategoryName,
        'parentId' => null,
        'customFields' => [],
    ];

    $categoryService->create([$newCategory], $context->getContext());
}

Php相关问答推荐

Laravel 10查询中的多个where子句

如何修复条带元素中的错误&&客户端_机密&

WordPress插件和JSON不是有效的响应错误

使用PHP编码的字符串与使用OpenSSL编写的shell 代码之间的差异

在PHP 8.2 Gloogle云引擎上加载大型php文件速度缓慢

从目录文件夹中获取文件并追加到 Select 下拉列表(选项)-wordpress/wc

创建一个Woocommerce我的帐户订单页面,仅显示已完成的订单

如何按类别过滤自定义帖子类型

Codeigniter 4中的未定义变量$HOME

函数存储到变量中

Laravel withOnly不限制查询

Font Awesome 加载图标未显示在 WooCommerce 管理员列表中

对产品/库存结果集进行分组和计数,形成多维分层数组

根据支付网关选项更改 WooCommerce Checkout 上的立即付款按钮文本

$_SERVER 超全局变量在 PHP 中是否保证可写?

为 WordPress 页面创建新功能

yii2 sql迁移覆盖新更改的记录

如何在光速网络服务器中使用 apache ..htaccess

在 EasyAdmin 中添加全局操作,将我的按钮放在表格下方而不是上方

Symfony 在将它传递给 Twig 时是否从数据库中获取整个对象?