Связь между заказом и таблицей статуса заказа в админ-панели - PullRequest
0 голосов
/ 03 октября 2019

Я создаю связь по внешнему ключу между таблицами orders и order_status. Когда я получаю новый заказ от клиента и отправляю этот заказ, я устанавливаю статус этого заказа на отправленный, когда заказ получен этому клиенту. Я установил отправленный и полученный статус, и затем этот заказ начнет отображаться на странице истории заказов. Я делаю это правильно?

class CreateOrdersTable extends Migration
{
    public function up()
    {
        Schema::create('orders', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->text('customer_name');
            $table->string('customer_email');
            $table->string('customer_contact');
            $table->bigInteger('order_status_id')->unsigned();
            $table->string('product_names');
            $table->string('products_quantity');
            $table->text('customer_address');
            $table->timestamps();
    });
}

Вот таблица order_status:

class CreateOrderStatusTable extends Migration
{
    public function up()
    {
        Schema::create('order_status', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('status')->nullable();
            $table->timestamps();
        });
    }
}

1 Ответ

0 голосов
/ 04 октября 2019

Судя по всему, ордер может иметь несколько статусов ордеров. Чтобы облегчить это в Eloquent (здесь не рассматривается), вашей таблице order_status нужен еще один столбец, ссылающийся на таблицу orders.

Добавьте это к миграции order_status:

$table->bigInteger('order_id')->unsigned()->index();
$table->foreign('order_id')->references('id')->on('orders');
...