Есть ли способ обнаружить, существует ли таблица базы данных с Laravel

Я хочу, чтобы создать таблицу, используя

Schema::create('mytable',function($table) { $table->increments('id'); $table->string('title'); }); 

Но до этого я хотел бы проверить, существует ли таблица, возможно, что-то вроде

 Schema::exists('mytable'); 

Однако вышеуказанной функции не существует. Что еще я могу использовать?

Solutions Collecting From Web of "Есть ли способ обнаружить, существует ли таблица базы данных с Laravel"

Если вы используете Laravel 4 или 5, то есть метод hasTable() , вы можете найти его в исходном коде L4 или документах L5 :

 Schema::hasTable('mytable'); 

Для создания новой таблицы существует только одна проверка функции Laravel Schema hasTable .

 if (!Schema::hasTable('table_name')) { // Code to create table } 

Но если вы хотите удалить любую таблицу, прежде чем проверять ее существование, тогда у dropIfExists есть функция, называемая dropIfExists .

 Schema::dropIfExists('table_name'); 

Если таблица будет существовать, она упадет из таблицы.

Для этого в 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' .

Если вы получаете один вывод строки, это означает, что таблица существует.