Maison > Questions et réponses > le corps du texte
wipe_data
Il y a un problème avec cette fonction
Cela wipe_data
fait fonctionner ma base de données pour nettoyer et gérer l'insertion de données
Mais cette fonction affiche une erreur :
Aucune transaction active
Voici mon code :
function wipe_data() { DB::beginTransaction(); $adminData = User::where('role', 'admin')->first(); try { User::truncate(); User_details::truncate(); User_kyc::truncate(); Token::truncate();`enter code here` $auto_id = date('Y'); DB::statement("ALTER TABLE ls_users AUTO_INCREMENT = $auto_id"); $admin = new User(); $admin->username = $adminData->username; $admin->email = $adminData->email; $admin->password = $adminData->password; $admin->role = $adminData->role; $admin->save(); $user_id = User::where('role', 'admin')->value('id'); DB::commit(); } catch (\Exception $ex) { DB::rollback(); return false; } return true; }
P粉6800875502024-02-22 00:31:52
Certaines déclarations provoquent des validations implicites , y compris la ALTER TABLE
déclaration que vous utilisez.
Donc, avant d'appeler DB::commit()
, votre déclaration a déjà été validée et l'erreur s'est donc produite.