Страница 1 из 1

Баг с through?

Добавлено: 2015.07.16, 19:23
aleksp

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

            'itemsOnlyProducts' => array(self::HAS_MANY, 'WarehousesItems', 'warehouse_id', 'with' => array(
                'product' => array(
                    'condition' => 'product.is_service = 0',
                    'joinType' => 'INNER JOIN'
                )
            )),
            'categoriesOnlyProducts' => array(self::HAS_MANY, 'Categories', array('category_id' => 'id'), 'through' => 'itemsOnlyProducts'),
При обращении к categoriesOnlyProducts не учитывается with у itemsOnlyProducts. Хотя логика подсказывает, что with просто обязан быть учтён.

Re: Баг с through?

Добавлено: 2015.07.16, 20:38
aleksp
Обнаружил, что если указать связь, идущую по цепочке дальше, принудительно, то тогда её условия учитываются.

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

            'itemsOnlyProducts' => array(self::HAS_MANY, 'WarehousesItems', 'warehouse_id', 'with' => array(
                'product' => array(
                    'condition' => 'product.is_service = 0',
                    'joinType' => 'INNER JOIN'
                )
            )),
            'categoriesOnlyProducts' => array(self::HAS_MANY, 'Categories', array('category_id' => 'id'), 'through' => 'itemsOnlyProducts.product'),

Однако, на мой взгляд это не меняет мое мнение, что есть небольшой баг. Ведь связь itemsOnlyProducts уже содержит в своем условии with, поэтому любой её вызов должен включать и её with.