Merhabalar,
Ürünleri göstermek için expandable table kullanabilirsiniz... Genel ürün bilgileri olur, üzerine tıklanıldığında da aşağıya doğru açılarak varyantları listeler.. Veya varyantları bir modal içinde gösterebilirsiniz.. Eğer tek kategorili bir ilişki kuracaksanız şu tarzda bir şey yapabilirsiniz
Kod:
public function up()
{
Schema::create('products, function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('product_name');
$table->string('model_code');
$table->string('brand_name')->nullable();
$table->string('stock_code')->nullable();
$table->string('category')->nullable();
$table->string('description')->nullable();
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('no action');
});
}
Product Varyant için ise şöyle bir şeyler yapabilirsiniz..
Kod:
public function up()
{
Schema::create('product_variants, function (Blueprint $table) {
$table->increments('id');
$table->integer('product_id')->unsigned();
$table->string('barcode')->unique();
$table->string('stock_code');
$table->string('sku')->nullable();
$table->string('upc')->nullable();
$table->string('ean')->nullable();
$table->string('jan')->nullable();
$table->string('isbn')->nullable();
$table->string('mpn')->nullable();
$table->integer('quantity');
$table->decimal('price', 8, 2);
$table->decimal('special_price', 8, 2)->nullable();
$table->tinyInteger('subtract_stock')->default(1);
$table->integer('minimum_quantity');
$table->tinyInteger('status')->default(1);
$table->integer('critical_range');
$table->integer('tax);
$table->timestamps();
$table->softDeletes();
$table->foreign('product_id')
->references('id')
->on('products')
->onDelete('no action');
});
}
Ama e ticaret çok gerçek bir ürün olarak yapıldığında çok kapsamlıdır.. Burda vergi türlerini bile ayrı tabloya almanız gerekir ciddi bir şey yapmak istiyorsanız.. Ama öğrenme amaçlı ve belli bir kesim için iş gören bir şey yapacaksanız bu tarz içerikler şimdilik yeterli olacaktır..