Dies sollte einfach sein, aber ich kann es nicht in der Dokumentation oder anderswo finden. Wie kann ich eine Tabelle mit Fremdschlüsseln in Laravel 5.1 mit dem Eloquent ORM TRUNCATE...CASCADE
? Die Verwendung nur User::truncate();
führt nicht durch das CASCADE
Argument.TRUNCATE ... CASCADE in Laravel 5
5
A
Antwort
6
Sieht aus wie der einzige Weg, dies zu tun ist durch die Anweisung direkt ausgeführt wird:
DB::statement('TRUNCATE users CASCADE');
0
Wenn Sie mehr als eine Tabelle zu truncate
benötigen, können Sie das CASCADE
Schlüsselwort und stellen eine Liste von Tabellennamen entfernen getrennt mit Komma.
$tables = [
'roles',
'role_users',
'users',
'revisions',
];
if (count($tables) > 1) {
DB::statement('TRUNCATE TABLE ' . implode(',', $tables) . ';');
} else {
DB::statement('TRUNCATE TABLE ' . $tables[0] . ' CASCADE;');
}
Ist eine MySQL-Datenbank? – gmsantos
Nein, ich benutze Postgres - ich möchte dies ohne Raw schreiben SQL –
Ich glaube nicht, dass dies möglich ist. Ich sehe nichts in der API für diese und die kleine Forschung, die ich getan habe, es sieht aus wie Leute nur 'DB :: statement ('TRUNCATE Benutzer CASCADE') verwenden;' – user3158900