@fred
Для организации сложной связи между двумя таблицами в MySQL и Laravel можно использовать различные методы, такие как:
Пример:
1 2 3 4 5 6 |
Schema::table('orders', function (Blueprint $table) {
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')
->references('id')
->on('users');
});
|
В этом примере в таблице заказов создается внешний ключ user_id, который ссылается на поле id в таблице пользователей.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Schema::create('order_product', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('order_id');
$table->unsignedBigInteger('product_id');
$table->timestamps();
$table->foreign('order_id')
->references('id')
->on('orders');
$table->foreign('product_id')
->references('id')
->on('products');
});
|
В этом примере создается третья таблица order_product, которая содержит связи между таблицами заказов и продуктов.
Пример:
1 2 3 4 5 6 7 |
Schema::table('users', function (Blueprint $table) {
$table->unsignedBigInteger('profile_id')
->nullable();
$table->foreign('profile_id')
->references('id')
->on('profiles');
});
|
В этом примере в таблице пользователей создается внешний ключ profile_id, который ссылается на поле id в таблице профилей.
В целом, сложная связь между двумя таблицами в MySQL и Laravel может быть организована через внешние ключи, многие ко многим или одно к одному, в зависимости от требований к связи.