- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢使用 akeneo 中的自定义命令从数据库中获取一些产品。我正在使用 ProductRepositoryInterface
public function read()
{
return $this->repository->findBy(
[
'enabled' => true,
'family' => ['projector', 'projector_child', 'projector_parent'],
]
);
}
这是生成的查询:
SELECT t0.id AS id1, t0.is_enabled AS is_enabled2, t0.created AS created3, t0.updated AS updated4, t0.family_id AS family_id5 FROM pim_catalog_product t0 WHERE t0.is_enabled = ? AND t0.family_id IN (?)
正如您在声明中所看到的,该系列作为 Id 进行线程化。但我想通过家庭代码进行搜索。
我必须改变什么?在 Pim/Component/Catalog/Model/AbstractProduct
中是 family 和 familyId 的属性。所以必须有一种方法来查询家庭代码。
也许相关,但这是 Akeneo 1.6 安装。
最佳答案
首先,要在 Akeneo 中查询产品,您应该使用产品查询生成器 (PQB)。如果您使用的是 1.6,这里是使用它的文档链接,非常简单:https://docs.akeneo.com/1.6/cookbook/catalog/product/query.html
要获得可与 PQB 一起使用的属性和字段过滤器的详尽列表,您可以在 PIM 上使用 php app/console pim:product:query-help
命令。
正如您所注意到的,族不是一个属性而是一个字段,您可以在上面命令的字段过滤器中找到它:
php app/console pim:product:query-help
Useable field filters...
+-----------------+--------------------------------+-----------------------------------------------------------+
| field | operators | filter_class |
+-----------------+--------------------------------+-----------------------------------------------------------+
| family | IN, NOT IN, EMPTY, NOT EMPTY | Pim\Bundle\CatalogBundle\Doctrine\ORM\Filter\FamilyFilter |
| family.id | IN, NOT IN, EMPTY, NOT EMPTY | Pim\Bundle\CatalogBundle\Doctrine\ORM\Filter\FamilyFilter |
| family.code | IN, NOT IN, EMPTY, NOT EMPTY | Pim\Bundle\CatalogBundle\Doctrine\ORM\Filter\FamilyFilter |
+-----------------+--------------------------------+-----------------------------------------------------------+
您现在可以看到,您可以在 family.code
字段中进行搜索。
对于您的示例,您最终会得到如下结果:
<?php
// Get a new instance of the PQB
$pqbFactory = $this->getContainer()->get('pim_catalog.query.product_query_builder_factory');
$pqb = $pqbFactory->create([
'default_locale' => 'en_US',
'default_scope' => 'ecommerce'
]);
// Now you can search for products with your family codes
$pqb->addFilter(
'family.code',
'IN',
['projector', 'projector_child', 'projector_parent']
);
// Retrieve your products
$productsCursor = $pqb->execute();
foreach ($productsCursor as $product) {
// your custom logic
}
关于mysql - 使用 Doctrine ind Akeneo 查询产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51762745/
我们想在 Akeneo 中创建可配置的产品。谁能帮助我了解如何在 Akeneo 中创建可配置产品。 谢谢 最佳答案 Akeneo 中的可配置产品称为产品模型,可以使用产品网格上的 UI 创建。为了能够
我是 Akeneo 新手,刚刚设置了版本 1.4.12 的 docker 环境。该网站正在运行,但我已经复制了我们的生产数据库,现在无法登录。我可以看到带有盐和密码的 oro_user 表,但需要为我
我已将数据库备份恢复到 Akeneo PIM 数据库中,但它现在没有向我显示系统内的任何产品。 数据库连接正常,即我可以登录并且类别树、属性列表等可用,但我的产品(500~)在 Akeneo 环境(0
我们需要在 Akeneo 1.4 中克隆一个产品(只有 SKU 应该改变)。 我在 Akeneo 论坛中发现了一个类似的问题( 1 , 2 ),但最有趣的部分没有答案: 克隆产品 (PimCatalo
安装akeneo后它不起作用 ServerAdmin admin@example.com DocumentRoot /var/www/html/akeneo/pim-community-stan
我想在 Akeneo 中创建一个具有一些固定属性的新变体组来“模拟”产品系列的行为。不幸的是,我不知道如何获取带有一些空值属性的 ProductTemplate。 当我尝试下面的代码时,在 Akene
我想检查在 Akeneo V.1.3 中编辑变体组后某些属性值是否已更改。 不幸的是,我有点迷失:有没有办法从 Pim\Bundle\CatalogBundle\Entity\Group 获取属性
我在安装Akeneo v2.3(使用docker)时遇到问题 我已经运行了以下位置的安装步骤: https://docs.akeneo.com/2.3/install_pim/docker/insta
我们的用户可以将其他产品作为关联添加到产品中。对于我们的大多数关联类型,在网格中显示所有产品没有意义,它们应该只选择一个系列中的产品。 用户可以在 Akeneo GUI 中按系列过滤产品,但如果以编程
我决定试用 Akeneo,因为它正是我需要的产品。不过,我无法运行它的生产版本。没有显示任何内容的白屏,状态代码为 500。我已经根据 Akeneo 站点上的安装教程安装了它,但我所能做的就是访问 a
以下代码已在 Akeneo 文档中给出: Use REST API.在执行代码时,它会给出类似 的结果 RESULT:{"resource":"http:\/\/akeneo-pim.local\/a
我想覆盖ProductController来自EnrichBundle . 在开发模式下一切正常,但是当我想使用 php app/console pim:install --env=prod --fo
我喜欢使用 akeneo 中的自定义命令从数据库中获取一些产品。我正在使用 ProductRepositoryInterface public function read() { return
我已经在 git 上问过这个问题 ( https://github.com/akeneo/pim-community-dev/issues/7191 )但不幸的是,还没有人回答我,我想我会试试。 我按
我是一名优秀的程序员,十分优秀!