Как автоматически удалить строку из дочерней таблицы, если строка из родительской таблицы удаляется - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть две таблицы (клиент и заказы)

customer_table:

|       id       |
|      name      |
|   created_at   |
|   updated_at   |

bookings_table:

|       id         |
|     product      |
|   customer_id    |
|    created_at    |
|    updated_at    |

как создать файл миграции, который будет удалятьвсе бронирования, связанные с клиентом, когда клиент удален?

1 Ответ

0 голосов
/ 28 сентября 2018

Просто установите внешний ключ для удаления каскадно

Schema::create('bookings_table', function (Blueprint $table) {
    $table->increments('id');
    $table->string('product');
    $table->unsignedInteger('customer_id');
    $table->timestamps();

    $table->foreign('customer_id')
        ->references('id')
        ->on('customer_table')
        ->onDelete('cascade')
        ->onUpdate('cascade');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...