yii 全选 php,Yii2.0实现的批量更新及批量插入功能示例
本文實例講述了Yii2.0實現的批量更新及批量插入功能。分享給大家供大家參考,具體如下:
批量更新
方法1
/**
* 批量更新循環周期
* @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();
}
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
總結
以上是生活随笔為你收集整理的yii 全选 php,Yii2.0实现的批量更新及批量插入功能示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java面向对象编程考试题,202514
- 下一篇: php cms 的模板修改,phpcms