如果他/她在元值数组中,我无法查询当前用户的 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',
],
],
];
元键
permit_users
元值
如果有值
数据库
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";}
在 PHP 中
Array
(
[0] => 29
[1] => 28
...
)
如果没有价值
返回 false 或空数组。取决于之前是否设置过该字段。
此外,
我尝试将比较设置为=
相等,但这也没有用。可能是因为该值在数组中。
结果查看
查询应返回键中具有当前用户 ID 的所有帖子permit_users
。
重要:
是permit_users
可选的,所以如果字段没有值(假)或空数组,查询应该忽略它。
更新
我尝试过与之比较LIKE
似乎有效。但是比较序列化数据好吗?如果当前用户是11
并且值中有111
用户怎么办?