如何将Mysql更新到我的Custome字符串
我使用此查询为用户的任何博客查找Num帖子。
我有14K用户和500K Post。
示例我使用userId 152。
SELECT
user.email,
user.`id`,
post.`blog_id`,
post.domain,
post.`user_id`,
COUNT(*)
FROM
`user`
INNER JOIN post
ON post.`user_id` = user.id
WHERE user.id = 152
GROUP BY post.`blog_id`
结果:
id blog_id user_id COUNT(*)
------ ------- ------- ----------
152 152 152 105
152 170 152 41
152 222 152 6
152 23552 152 104
152 24053 152 5
152 27567 152 7
但我需要更新用户表>字段numPost到此字符串
({"blog Id": "num of post"}) => `({"152":105,"170":41,"222":6,"23552":104,"24053":5,"27567":7})`
答案 0 :(得分:0)
假设您的json格式为
'{"152":105,"170":41,"222":6,"23552":104,"24053":5,"27567":7}';
你可以解码
$myArray = json_decode('{"152":105,"170":41,"222":6,"23552":104,"24053":5,"27567":7}');
并遍历数组
foreach ( $myArray as $key =$value){
$connection->createCommand()->update('user',
['blod_id' => $value],['id' => $key])->execute();
}