$campaigns
数据数组:
[
...
27 => array:10 [
"name" => "0ca9b377dd066958_ru_acc9_map86"
"cid" => "53099327454745088"
"status" => 2
"id" => 36842
]
...
]
更新前准备:
foreach ($campaigns as $campaign) {
$id = $campaign['campaign_id'];
$name = $campaign['name'];
$status = $campaign['status'];
$index = Campaign::getIndex($name);
$aSource = Campaign::aSource($name, $status);
$streamId = Campaign::getStreamIdByName($name);
$updateValues[] = [
'id' => $id,
'name' => $name,
'status' => $status,
'index' => $index,
'a_source' => $aSource,
'stream_id' => $streamId,
'updated_at' => new Expression('NOW()')
];
}
我如何使用
id
和ids
的新值更新$campaigns
中name, status, index, a_source, stream_id
的所有行?请帮助我,我已经尝试了 doc 和 chatGPT 的所有选项,例如:
--批量插入
updated_at
a) with `ON DUPLICATE KEY UPDATE`
b) and `ON CONFLICT (id) DO UPDATE SET`