id(); $table->unsignedBigInteger('product_id'); $table->unsignedBigInteger('order_id')->nullable(); $table->unsignedBigInteger('user_id')->nullable(); $table->float('price'); $table->enum('status',['new','progress','delivered','cancel'])->default('new'); $table->integer('quantity'); $table->float('amount'); $table->foreign('product_id')->references('id')->on('products')->onDelete('CASCADE'); $table->foreign('user_id')->references('id')->on('users')->onDelete('CASCADE'); $table->foreign('order_id')->references('id')->on('orders')->onDelete('SET NULL'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('carts'); } }