を使用してテーブルを作成できるようにしたい
Schema::create('mytable',function($table)
{
$table->increments('id');
$table->string('title');
});
しかし、その前に、テーブルが既に存在するかどうかを確認したいと思います。おそらく次のようなものです
Schema::exists('mytable');
ただし、上記の機能はありません。他に何が使えますか?
Laravel 4 または 5 を使用している場合は、メソッドがあります。L4 ソース コードまたはL5 ドキュメントhasTable()
で見つけることができます。
Schema::hasTable('mytable');
L3 には組み込み関数はありません。生のクエリを実行できます:
$table = "foo";
$check = DB::only('SELECT COUNT(*) as `exists`
FROM information_schema.tables
WHERE table_name IN (?)
AND table_schema = database()',$table);
if(!$check) // No table found, safe to create it.
{
// Schema::create …
}
むしろ、 を使用してテーブル内の一部のデータをチェックするのではなく、情報スキーマ クエリに依存しますCOUNT()
。
SELECT table_schema
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name = 'table_name';
あなたの価値観を変えてください'table_name'
。
1 行の出力が得られた場合は、テーブルが存在することを意味します。