1. 程式人生 > >tp5匯入資料時的批量操作

tp5匯入資料時的批量操作

先將要匯入的資料整成一個數組,然後使用Db的insertAll來操作

 Db::execute('SET FOREIGN_KEY_CHECKS = 0 ');
        $result = Db::table('t_modules')->insertAll($list,true);
        Db::execute('SET FOREIGN_KEY_CHECKS = 1 ');

返回的 r e s

u l t
i n s e r t A l l (
result是匯入的資料集,insertAll(
list,true);第二個引數設定為true,是在匯入時判斷主鍵如果存在,就替換,如果不存在,就新增。
Db::execute('SET FOREIGN_KEY_CHECKS = 0 '); 這個用來關閉外來鍵約束。
Db::execute('SET FOREIGN_KEY_CHECKS = 1 ');再開啟外來鍵約束。
如果不這樣的話,表中有外來鍵關聯時會出現錯誤:Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails