Yii2.0實(shí)現(xiàn)的批量更新及批量插入功能示例
本文實(shí)例講述了Yii2.0實(shí)現(xiàn)的批量更新及批量插入功能。分享給大家供大家參考,具體如下:
批量更新
方法1
/**
* 批量更新循環(huán)周期
* @param array $condition
* $condition = ['advertise_id' => '','status' => '', 'weekdays'=>[1,2,3]] 查詢條件
* $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
/**
* 批量更新商品銷量
* @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)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii2 批量插入、更新數(shù)據(jù)實(shí)例
- YII框架批量插入數(shù)據(jù)的方法
- Yii框架批量插入數(shù)據(jù)擴(kuò)展類的簡單實(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中全選、全不選、反選、無刷新刪除、批量刪除、即點(diǎn)即改入庫(在yii框架中操作)的代碼分享
- Yii中CGridView實(shí)現(xiàn)批量刪除的方法
相關(guān)文章
laravel結(jié)合vue添加權(quán)限的實(shí)現(xiàn)示例
本文將結(jié)合實(shí)例代碼,介紹laravel結(jié)合vue添加權(quán)限,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07
codeigniter使用技巧批量插入數(shù)據(jù)實(shí)例方法分享
CI批量插入數(shù)據(jù),CodeIgniter是一個(gè)小巧但功能強(qiáng)大的 PHP 框架,作為一個(gè)簡單而“優(yōu)雅”的工具包,它可以為 PHP 程序員建立功能完善的 Web 應(yīng)用程序2013-12-12
Laravel5.2使用Captcha生成驗(yàn)證碼實(shí)現(xiàn)登錄(session巨坑)
這篇文章主要介紹了Laravel5.2使用Captcha生成驗(yàn)證碼(session巨坑),需要的朋友可以參考下2018-01-01
復(fù)現(xiàn)WordPress?xmlrpc.php漏洞和SSRF的詳細(xì)步驟
這篇文章主要介紹了復(fù)現(xiàn)WordPress?xmlrpc.php漏洞和SSRF的相關(guān)資料,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
CodeIgniter配置之database.php用法實(shí)例分析
這篇文章主要介紹了CodeIgniter配置之database.php用法,結(jié)合實(shí)例形式較為詳細(xì)的分析總結(jié)了CodeIgniter常用的數(shù)據(jù)庫連接方式,需要的朋友可以參考下2016-01-01

