如果s/he在元值数组中,我很难查询当前用户的cpt。
$args = [
'post_type' => $cp::get_module_cpt(),
'posts_per_page' => - 1,
'meta_query' => [
'relation' => 'AND',
[
'key' => 'premium_module',
'value' => 0,
'compare' => '=',
],
[
'key' => 'permit_users',
'value' => get_current_user_id(),
'compare' => 'IN',
],
],
];
允许用户
a:5:{i:0;s:2:"23";i:1;s:1:"2";i:2;s:1:"6";i:3;s:1:"7";i:4;s:2:"27";}
Array
(
[0] => 29
[1] => 28
...
)
返回false或空数组。取决于之前是否设置过字段。
我试过将compare设置为=
相等,但也不起作用。可能是因为该值位于数组中。
查询应返回在permit\u users
键中具有当前用户id的所有帖子。
重要提示:
允许用户的是可选的,因此如果字段没有值(false)或空数组,查询应该忽略它。
我试过与
进行比较,就像
那样,似乎很有效。但是比较序列化数据好吗?如果当前用户是
11
,并且值中有111
用户,该怎么办?
我的建议是,如果这个自定义帖子类型是由您开发的,那么您可以尝试取消序列化并将每个用户保存在单独的行中
格式为permit\u users\uu id}
且值为user\u id
的元密钥。
将上述格式的保存值设置为true
(最后一个参数)
add_post_meta( 68, 'permit_users_' . get_current_user_id(), '21', true );
否则,你的项目数据库现在已经非常成熟,很难做上面的建议更改,那么你可以使用下面的元查询
$args = [
'post_type' => $cp::get_module_cpt(),
'posts_per_page' => - 1,
'meta_query' => [
'relation' => 'AND',
[
'key' => 'premium_module',
'value' => 0,
'compare' => '=',
],
[
'key' => 'permit_users',
'value' => sprintf(':"%s";', get_current_user_id()),
'compare' => 'LIKE',
],
],
];
上面一个将与序列化数据一起工作,值为代码>11 ,<代码> 111 < /代码>,但请将此视为临时解决方案。
我再次请求您尝试实现将序列化数据转换为单独的值行。
附加说明:如果序列化的字符串非常长,并且在最坏的情况下,从长字符串中匹配查询用户id需要时间。因此,以较短的长度维护这些序列化数据,但不要担心,并进行早期优化,直到慢速查询日志记录,然后我们可以使用优化的解决方案,如添加索引或添加新的搜索引擎层,例如弹性搜索。
我在wp_query,我需要你的帮助。 我有3个自定义字段,分别称为“议程日”、“议程月”、“议程年”,表示事件的日期、月份和年份。 我想按日、月、年顺序排列查询结果。 下面是我的问题: 这不起作用。。。你能解释一下原因并告诉我怎么修理吗? 非常感谢。 编辑 这是已执行的查询(返回结果,但顺序不正确) 选择SQL_CALC_FOUND_ROWSwp_posts。ID从wp_posts离开加入wp_
我有一篇有三个元域的帖子。 我想查询这个类别,并根据其中一个的元字段值对帖子进行排序。我现在使用的参数是: 其中times是元字段的名称。上面的代码没有返回任何内容。
我有一个如下所示的数据库表: 我想使用PostgreSQL的JSON查询功能来选择JSON\u数组中的某些子字典,例如字典中的a:1。 输出应为 以下查询适用于每个数组中的第一个元素,但我想检查所有元素:
本文向大家介绍用MongoDB查询数组元素?,包括了用MongoDB查询数组元素?的使用技巧和注意事项,需要的朋友参考一下 查询数组元素时,MongoDB更好。让我们使用以下语法查询数组元素- 上面的语法将返回所有在数组字段中具有“ yourValue”值的文档。 为了理解这个概念,让我们用文档创建一个集合。使用文档创建集合的查询如下- 在method的帮助下显示集合中的所有文档。查询如下- 以下
主要内容:JavaTuples 元组检查元素的方法,JavaTuples 元组检查元素的示例JavaTuples 元组检查元素的方法 每个元组都提供实用方法来以与集合类似的方式检查其元素。 contains(element) : 检查元素是否存在。 containsAll(collection) : 检查元素是否存在。 indexOf(element) : 如果存在,则返回第一个元素的索引,否则返回 -1。 lastIndexOf(element) : 如果存在,则返回最后一个元素的索引
最近升级到使用PostgreSQL 9.3.1来利用JSON功能。在我的表中,我有一个json类型列,其结构如下: 就问题而言,这只是虚拟数据。 是否可以根据id查询电子邮件数组中的特定项目 差不多:“返回id=123的电子邮件)”?