Как расширить продукт Akeneo дополнительным свойством?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как расширить продукт Akeneo дополнительным свойством?

Сообщение Anonymous »

TL;DR
У меня есть собственный пакет PIM Akeneo, и я хочу добавить новый столбец «Склад» в сетку продуктов и на страницу с подробными сведениями о продукте в серверной части Akeneo. Это новое свойство и новый столбец. Поэтому я добавил столбец stock в таблицу pim_catalog_product и свойство stock в класс Entity\Product. Последнее, конечно, не было сделано напрямую: я создал собственный объект Product в своем пакете и расширил его из исходного продукта Akeneo. Но это работает неправильно. Неправильное сопоставление и/или построитель запросов.
Проблемы/ошибки
Я получаю следующие ошибки:
  • Когда я пытаюсь проверить схему, я получаю сообщение об ошибке. Таблица с именем «akeneo_pim.pim_catalog_product» уже существует.

    Код: Выделить всё

    $ docker compose exec fpm bin/console doctrine:schema:validate
    Mapping
    -------
    [OK] The mapping files are correct.
    Database
    --------
    17:11:51 CRITICAL  [console] Error thrown while running command "doctrine:schema:validate".  Message: "The table with name 'akeneo_pim.pim_catalog_product' already exists." ["exception" => Doctrine\DBAL\Schema\SchemaException^ { …},"command" => "doctrine:schema:validate","message" => "The table with name 'akeneo_pim.pim_catalog_product' already exists."]
    In SchemaException.php line 108:
    The table with name 'akeneo_pim.pim_catalog_product' already exists.
    
  • Когда я пытаюсь получить продукт, открыв страницу его сведений в серверной части Akeneo PIM, я получаю сообщение об ошибке SQLSTATE[42S22]: Столбец не найден: 1054 Неизвестный столбец «t0.id» в разделе «where».

Код: Выделить всё

$ tail -f ./var/logs/dev.log
...
request.CRITICAL:
Uncaught PHP Exception Doctrine\DBAL\Exception\InvalidFieldNameException:
"An exception occurred while executing
'SELECT
t1.id AS id_2,
t1.is_enabled AS is_enabled_3,
t1.identifier AS identifier_4,
t1.raw_values AS raw_values_5,
t1.created AS created_6,
t1.updated AS updated_7,
t1.quantified_associations AS quantified_associations_8,
t1.stock AS stock_9,
t1.family_id AS family_id_10,
t1.product_model_id AS product_model_id_11,
t1.family_variant_id AS family_variant_id_12
FROM pim_catalog_product t1
WHERE t0.id = ?'
with params ["1207"]:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.id' in 'where clause'"
at /srv/pim/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 60

{"exception":
"[object] (Doctrine\\DBAL\\Exception\\InvalidFieldNameException(code: 0):
An exception occurred while executing
'SELECT
t1.id AS id_2,
t1.is_enabled AS is_enabled_3,
t1.identifier AS identifier_4,
t1.raw_values AS raw_values_5,
t1.created AS created_6,
t1.updated AS updated_7,
t1.quantified_associations AS quantified_associations_8,
t1.stock AS stock_9,
t1.family_id AS family_id_10,
t1.product_model_id AS product_model_id_11,
t1.family_variant_id AS family_variant_id_12
FROM pim_catalog_product t1
WHERE t0.id = ?'
with params [\"1207\"]:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.id' in 'where clause'
at /srv/pim/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:60,
Doctrine\\DBAL\\Driver\\PDOException(code: 42S22):
SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.id' in 'where clause'
at /srv/pim/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:123,
PDOException(code: 42S22):
SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.id' in 'where clause'
at /srv/pim/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:121)"
} []
Код

Код: Выделить всё

src/Tpg/Bundle/AkeneoTpgBundle/Entity/Product.php
[/b]

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/79047934/how-to-extend-the-akeneo-product-with-a-further-property[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»