我要做的是优化在我的 wp_postmeta 表中存储数据的方式。
我需要保存帖子之间的多个关系,而我的开始情况就是这样:
add_post_meta($parent_id, 'post_child', $child_id);
这样,我需要为每个关系使用一个数据库行。
考虑到同一个父母可以与多个孩子相关联,我试图弄清楚什么可能是一个好的数组配置,我得到了这样的东西(但我仍然不确定是最好的方法):
array(
array(
parent => 121,
child => 122
),
array(
parent => 121,
child => 122
),
array(
parent => 121,
child => 123
),
...
);
然后,我尝试使用以下代码:
if ($post_relations = get_post_meta($book_id, 'post_relations', true)) {
$post_relations[] = array("parent" => $parent_id, "child" => $child_id);
update_post_meta($book_id, 'post_relations', $post_relations);
} else {
$post_relations[] = array("parent" => $parent_id, "child" => $child_id);
add_post_meta($book_id, 'post_relations', $post_relations);
}
但是我在 meta_value 字段中得到的结果似乎与我期望的结果不同:
a:2:{
i:0;a:2:{s:6:"parent";i:1;s:5:"child";i:510;}i:1;a:2:{s:6:"parent";i:510;s:5:"child";i:511;}
}