本文實(shí)例講述了Yii2.0實(shí)現(xiàn)的批量更新及批量插入功能。分享給大家供大家參考,具體如下:
批量更新
方法1
/**
* 批量更新循環(huán)周期
* @param array $condition
* $condition = ['advertise_id' => '','status' => '', 'weekdays'=>[1,2,3]] 查詢(xún)條件
* $params = ['status' => '']
* @param $params
* @return bool
*/
public function batchUpdateAdSchedule($condition = [], $params)
{
if (count($condition) == 0 || !is_array($condition) || count($params) == 0) {
return false;
}
$conditions = ' 1 = 1 ';
$bind = [];
if (array_key_exists('advertise_id', $condition) !empty($condition['advertise_id'])) {
$conditions .= ' AND `advertise_id` = :advertiseId';
$bind['advertiseId'] = $condition['advertise_id'];
}
if (array_key_exists('status', $condition) !empty($condition['status'])) {
$conditions .= ' AND `status` = :status';
$bind['status'] = $condition['status'];
}
$result = AdvertiseSchedule::updateAll($params, $conditions, $bind);
return $result > 0 ? true : false;
}
方法2
/**
* 批量更新商品銷(xiāo)量
* @param $params
* @return bool|int
* @throws \yii\db\Exception
*/
public function batchUpdateSalesNum($params)
{
if (count($params) == 0 || !is_array($params)) {
return false;
}
$sql = '';
foreach ($params as $key => $value) {
$sql .= 'UPDATE `morefun`.`mbb_goods` SET `sale_num` = `sale_num` -' . $value['amount'] . ' WHERE `id` =' . $value['goods_id'] . ';';
}
$result = Yii::$app->db->createCommand($sql)->execute();
return $result == 1 ? true : false;
}
批量插入
/**
* 批量插入
* @param $params
* @return int
* @throws \yii\db\Exception
*/
public function batchAddShopClassConn($params)
{
$connection = Yii::$app->db;
$queryBuilder = $connection->queryBuilder;
/*$sql = $queryBuilder->batchInsert('user', ['name', 'age'], [
['Tom', 30],
['Jane', 20],
['Linda', 25],
]);*/
$sql = $queryBuilder->batchInsert(shopClassConn::tableName(),
['shop_id', 'class_id'], $params);
return $connection->createCommand($sql)->execute();
}
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Yii2 批量插入、更新數(shù)據(jù)實(shí)例
- YII框架批量插入數(shù)據(jù)的方法
- Yii框架批量插入數(shù)據(jù)擴(kuò)展類(lèi)的簡(jiǎn)單實(shí)現(xiàn)方法
- Yii2如何批量添加數(shù)據(jù)
- 淺析Yii2 gridview實(shí)現(xiàn)批量刪除教程
- yii2使用GridView實(shí)現(xiàn)數(shù)據(jù)全選及批量刪除按鈕示例
- Yii實(shí)現(xiàn)復(fù)選框批量操作實(shí)例代碼
- JavaScript中全選、全不選、反選、無(wú)刷新刪除、批量刪除、即點(diǎn)即改入庫(kù)(在yii框架中操作)的代碼分享
- Yii中CGridView實(shí)現(xiàn)批量刪除的方法