我正在尝试过滤具有嵌套“或”“和”过滤器的集合,其中 t_id 和 t_code 都是属性
$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))
)
)
有什么办法可以实现吗?