關於Yii2批量更新的操作

2021-10-02 01:50:10 字數 1454 閱讀 1438

有時候需要更新乙個表裡面很多字段,用內建方法update更新可能還算適用

內建方法如下:

yii::-

>db-

>

createcommand()

->

update

($table

,$columns

,$condition=''

)->

execute()

;

第乙個是表,第二個修改字段 ,第三個是條件

例項:

yii::-

>db-

>

createcommand()

->

update

(user:

:tablename()

,['user_state'

=>

'1']

,"user_name=''")

->

execute()

;

/**

* @param $table string 表名

* @param $key string 條件主鍵,作用參考switch中的case

* @param $val self 修改主鍵

* @param $data array $key與$val主鍵對應的資料載體

* @return string 批量更新sql

*/public

function

batchupdate

($table

,$key

,$val

,$data

) then ";

}$sql

="update `

` set

= case

end where

in ()";

return

$sql

;}

呼叫例項:

$data=[

["user_id"

=>1,

"sort"

=>1]

,["user_id"

=>4,

"sort"

=>2]

,["user_id"

=>5,

"sort"

=>3]

];$sql

=$this

->

batchupdate

("user"

,"user_id"

,"sort"

,$data);

$res

= yii::-

>db-

>

createcommand

($sql)-

>

execute()

;

yii2批量插入資料

yii2批量插入資料就是將資料整合在乙個陣列裡面,然後將這個陣列直接插入到資料庫,一次性插入多條資料.分兩種情況,第一種情況 全欄位插入,就是這個陣列中每條資料裡面的鍵都和資料庫裡面欄位名一致,且每個欄位都有.use yii helpers arrayhelper rows foreach mode...

mysql之儲存過程(四) 批量更新操作

最近有乙個場景,在生產環境的乙個庫中,新增了乙個字段。需要從另乙個關聯表中找到相當的字段回填。影響資料數百萬條。首先,不能使用一條大的update語句來更新,這個鎖太大,容易產生鎖徵用,造成死鎖。update b a set new column select other col from a b ...

關於yii2的url美化及相關apache配置問題

在寫yii2專案的時候我們可能會碰到這種問題 我們會覺得這個url不夠美觀,想換成這種形式的,這就涉及到路由配置 url美化問題 比如我們配置前台 我們需要在 frontend web資料夾下加乙個重定向檔案,即.htaaccess,檔案內容如下 rewriteengine on 如果是乙個目錄或者...