2015-09-17 22 views
5

これは簡単なはずですが、ドキュメントや他の場所で見つけることができません。どのようにしてEloquent ORMを使用してLaravel 5.1の外部キーを持つテーブルを作成できますか? User::truncate();だけを使用すると、引数CASCADEを通過しません。TRUNCATE ... CASCADE in Laravel 5

+0

MySQLデータベースはありますか? – gmsantos

+0

いいえ、私はPostgresを使用しています - 生のSQLを書かずにこれを行うことを検討しています –

+0

これは可能だとは思いません。私はAPIとこれまでに行ったことはほとんど分かりませんが、DB :: statement( 'TRUNCATE users CASCADE'); – user3158900

答えて

6

これを行うための唯一の方法は、直接のステートメントを実行しているように見える:

DB::statement('TRUNCATE users CASCADE'); 
0

使用すると、1つのテーブルよりもtruncateに必要がある場合は、あなたがCASCADEキーワードを削除し、分離し、テーブル名のリストを提供することができますカンマで区切ります。

$tables = [ 
     'roles', 
     'role_users', 
     'users', 
     'revisions', 
    ]; 

    if (count($tables) > 1) { 
     DB::statement('TRUNCATE TABLE ' . implode(',', $tables) . ';'); 
    } else { 
     DB::statement('TRUNCATE TABLE ' . $tables[0] . ' CASCADE;'); 
    }