0

t_id と t_code の両方が属性である、ネストされた「or」「and」フィルターを持つコレクションをフィルタリングしようとしています

     $collection->addAttributeToFilter(
                        array(
                            array(
                                'attribute' => 't_id',
                                'null' => true
                            ),

                                array(
                                    'attribute' => 't_id',
                                    'finset' => $allowedtId
                                )

                        )
                    );
$collection->addAttributeToFilter(
                    array(
                        array(
                            'attribute' => 't_code',
                            'null' => true
                        ),
                        array(
                            'attribute' => 't_code',
                            'finset' => $tAttCode
                        )
                    )
                );

ここにクエリのSQLがあります

WHERE ((at_t_id.value IS NULL) OR (FIND_IN_SET('', at_t_id.value))) AND ((at_t_code.value IS NULL) OR (FIND_IN_SET('2348', at_t_code.value)))

しかし、私はこのようなものを取得しようとしています

 WHERE (at_t_id.value IS NULL)

   OR 

 (
     (FIND_IN_SET('1245', at_t_id.value)) 

      AND

    (
        (at_t_code.value IS NULL)

         OR
        (FIND_IN_SET('2348', at_t_code.value))

    )
 )

これを達成する方法はありますか?

4

0 に答える 0