РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
361 of 1392 menu

Метод hasTable

Метод hasTable применяется к фасаду Schema и позволяет проверить наличие таблицы в текущей базе данных. Единственным обязательным параметром является имя таблицы. Метод возвращает булево значение, которое удобно использовать в условных конструкциях при работе с миграциями или динамической генерацией схемы.

Синтаксис

<?php use Illuminate\Support\Facades\Schema; Schema::hasTable($table); ?>

Пример

Давайте проверим существование таблицы 'users' в базе данных:

<?php use Illuminate\Support\Facades\Schema; $exists = Schema::hasTable('users'); echo $exists ? 'true' : 'false'; ?>

Результат выполнения кода:

"true"

Если таблица существует, метод вернёт true, в противном случае - false.

Пример

Используем метод hasTable в условной конструкции для создания таблицы, если она ещё не существует:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { if (!Schema::hasTable('settings')) { Schema::create('settings', function (Blueprint $table) { $table->id(); $table->string('key')->unique(); $table->text('value'); $table->timestamps(); }); } } public function down(): void { Schema::dropIfExists('settings'); } }; ?>

Результат выполнения кода:

"Table 'settings' created successfully"

Пример

Проверим существование нескольких таблиц с помощью метода hasTable:

<?php use Illuminate\Support\Facades\Schema; $tables = ['users', 'posts', 'categories']; $existing = []; foreach ($tables as $table) { if (Schema::hasTable($table)) { $existing[] = $table; } } echo 'Existing tables: ' . implode(', ', $existing); ?>

Результат выполнения кода:

"Existing tables: users, posts"

Смотрите также

  • метод create,
    который создаёт новую таблицу в базе данных
  • метод table,
    который изменяет существующую таблицу
  • метод dropIfExists,
    который удаляет таблицу, если она существует
  • метод hasColumn,
    который проверяет существование колонки в таблице
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить