Как getSelectConditionSQL () может выводить оператор IN (‘sonata.ecommerce_demo.product.travel’)?

У меня есть ожидающий проект с электронной коммерцией Sonata, и я должен понять, как он работает. Я хочу управлять изменением продукта в Doctrine / mongoDB, оставляя все остальные данные в Doctrine / MySQL.
Поэтому я установил песочницу с демо-частью и проследил.

Это привело меня к ORM \ Persiters \ BasicEntityPersister, в котором есть метод getSelectSQL ().

При редактировании, например, туристического продукта http://mysite/app_dev.php/admin/sonata/product/product/526/editпеременная $ conditionSql получила следующее условие sql:

t0.id =? AND t0.product_type IN (‘sonata.ecommerce_demo.product.travel’)

Когда я вывести метод getSelectConditionSQL () до возврата, я имею

t0.id =?

Итак, вопрос: где находится AND t0.product_type IN ('sonata.ecommerce_demo.product.travel') сгенерированная часть, и, самое главное, откуда берется оператор IN ()?

Я действительно должен знать, потому что, когда я пытаюсь поместить Документ в качестве параметра,

<service id="sonata.ecommerce_demo.product.travel.manager" class="Sonata\ProductBundle\Document\ProductManager">
<argument>Application\Sonata\ProductBundle\Document\Travel</argument>
<argument type="service" id="doctrine_mongodb" />
</service>

Я заканчиваю с пустым оператором IN ().

Спасибо за любую помощь …

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]