php yii 插入,Yii2 批量插入、更新数据实例
在使用yii2開(kāi)發(fā)項(xiàng)目時(shí),有時(shí)候會(huì)遇到這樣的情況:
向后臺(tái)發(fā)送多條數(shù)據(jù),其中一些數(shù)據(jù)已經(jīng)存在記錄,只需要對(duì)其部分字段的值進(jìn)行修改;而另一部分的數(shù)據(jù)則需要新添加進(jìn)去.
這就需要對(duì)添加的數(shù)據(jù)進(jìn)行判斷,其中一些執(zhí)行update,剩下的執(zhí)行insert
代碼如下,不對(duì)的地方請(qǐng)指教:
//批量更新,并將需要批量插入的數(shù)據(jù)放入數(shù)組中
foreach($goods as $k => $v)
{
if(yourModel::updateAllCounters(
['goods_num' => $v],
['goods_id' => $k,'user_id' => $id]
))
{
continue;//如果已經(jīng)更新,則跳過(guò)此次循環(huán),到下一次
}
$data[] = [
'user_id' => $id,
'goods_id' => $k,
'goods_num' => $v,
'created_time' => $time,
]
}
//再執(zhí)行批量插入
if (isset($data))
{
Yii::$app->db->createCommand()
->batchInsert(yourModel::tableName(),['user_id','goods_id','goods_num','created_time'],
$data)
->execute();
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的php yii 插入,Yii2 批量插入、更新数据实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php ftp 创建文件夹失败,PHP使
- 下一篇: php数据表格的重载,layui数据表格