正在基于数组序列化值在meta\\u查询中查找嵌套和/或关系的方法。
已审阅这些内容:Query multiple meta key values?WP Meta Query for some meta (array) values
我知道序列化数据“不应该”用于搜索/过滤(或者首先需要在SQL之外拉出),但我想把它放在那里,看看嵌套是否可以做到这一点。
E、 g.数据[元数据字段1=\'abc\',元数据字段2 a:2:{i:0;s:1:“1”;i:1;s:1:“4”}]
这将值[“1”、“4”]保存为字符串数组。
我要执行的搜索类似于
$metaSearchQuery = [
\'relation\' => \'AND\',
[
\'key\' => \'<FIELDNAME1>\',
\'value\' => \'abc\'
],
[
\'relation\' => \'OR\',
[
\'key\' => \'<FIELDNAME2>\',
\'value\' => serialize(strval(1)),
\'compare\' => \'like\',
],
[
\'key\' => \'<FIELDNAME2>\',
\'value\' => serialize(strval(4)),
\'compare\' => \'like\',
],
...............
]
];
输出SQL类似
... where meta_value.field1 = \'abc\' and (field2 like \'s:1:"1"\' or field2 like \'s:1:"4"\')
这样,您就可以对其他字段使用main和条件,对数组值使用nest或。。。?使用meta\\u查询是否可能做到这一点?
原因是我必须过滤,值可以是1、2、3、4或它们的任意组合。分类学更好,是的,但这已经写好了,所以如果可能的话,我想使用元结构。