Laravel - Это хорошая практика для создания других столбцов в сводных таблицах? - PullRequest
0 голосов
/ 16 мая 2018

Итак, у меня есть проект, по которому клиент может заказать еду.Продукты хранятся в корзине, а затем вставляются в базу данных.Я хочу создать таблицы «Заказы и продукты», но также хочу сохранить количество и итоговую цену для каждого продукта. Заказы и продукты имеют отношение N: N.Вот мои миграции таблиц:

Schema::create('orders', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id');
            $table->integer('product_id');
            $table->enum('status',['open','closed']);
            $table->timestamps();
        });

Schema::create('products', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('description')->nullable();
            $table->float('price',8,2);
            $table->string('image_path');
            $table->timestamps();
        });

Сводная таблица:

Schema::create('order_product', function (Blueprint $table) {
            $table->integer('order_id')->unsigned()->nullable();
            $table->foreign('order_id')->references('id')->on('orders')->onDelete('cascade');
            $table->integer('product_id')->unsigned()->nullable();
            $table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
            $table->timestamps();
        });

Я вижу решение следующим образом:

  1. добавить количество и промежуточный итогатрибуты для сводной таблицы (которые я не уверен, хорошо это или плохо)
  2. вставлять строки для каждого определенного количества продукта (что создаст много строк для одного и того же заказа, и я неконечно, если это тоже хорошо).

Можете ли вы указать мне лучшее решение?Я новичок в веб-разработке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...