mehrdad70
4 سال پیش توسط mehrdad70 مطرح شد
5 پاسخ

بخش ویژگی های محصول در لاراول

سلام دوستان برای ساختار دیتابیس بخش ویژگی های هر محصول کدوم یکی از این ساختار منطقی تر البته من هنوز محوصلات رو ایجاد نکردم ولی بزودی ایجاد میکنیم فعلا بخش ویژگی هاشو میخام اوکی کنم ممنون میشم راهنماییم کنید
@ali.bayat
@hosseinshirinegad98
@mhyeganeh
@mohammadeng3731
ساختار اول

    public function up()
    {
        Schema::create('attributes', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->integer('order')->nullable();
            $table->timestamps();
        });
        Schema::create('values', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('attribute_id');
            $table->string('values');
            $table->foreign('attribute_id')->references('id')->on('attributes')->onDelete('CASCADE');
            $table->timestamps();
        });

    }

ساختار دوم

public function up()
{Schema::create('attribute_groups', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->integer('order')->nullable();
        $table->timestamps();
    });

    Schema::create('attributes', function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('attibute_group_id');
        $table->string('name');
        $table->integer('order')->nullable();
        $table->timestamps();
    });

    Schema::create('attributes_items', function (Blueprint $table) {
        $table->id();
        $table->unsignedBigInteger('attribute_id');
        $table->string('name');
        $table->timestamps();
    });

}

اگر دوستان ساختار مناسب تری هم دارن ممنون میشم ارائه بدند


ثبت پرسش جدید
woz
تخصص : fan of open source world
@wozniak 4 سال پیش مطرح شد
0

@mehrdadroshanraee68
هیچ کدام جالب به نظر نمیرسه
شما اگر بخواهید برنامتون توسعه پذیر و ادمین پسند باشه، باید از ساختار بهتری استفاده کنبد


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

ساختار های مختلفی هست
ساده ترینش استفاده از مدل schemaless attributes هست، که در کنار انعطاف یه سری محدودیت هم داره.
ساختار های جدولی محدودیت کمتری دارند اما به روابط دقیق تری هم نیاز دارند.

باید دید نیاز این اپلیکیشن به تعریف Attribute در چه حدی هست


mehrdad70
@mehrdadroshanraee68 4 سال پیش مطرح شد
0

@wozniak
@ali.bayat
میشه بفرمایید چه ساختاری مناسبه و منعطف تر اگه بهم بگید ممنون میشم کم تجربه ام و تجربه های شما میتونه خیلی بهم کمک کنه


woz
تخصص : fan of open source world
@wozniak 4 سال پیش مطرح شد
0

@mehrdadroshanraee68
اقای بیات درست می فرمایند.
بسته به سایز و نیاز پروژه شما این ساختار میتونه متفاوت باشه.
مثلا شما در نظر بگیرید مدیریت ویژگی محصولات در وبسایت دیجیکالا که قابلیت ایجاد محصول جدید توسط فروشندگان امکان پذیر هست ، نیاز هست ساختار متفاوتی با یک وبسایت ساده فروشگاهی پیاده بشه. در وبسایت ساده همین الگوی خود شما کارامده احتمالا. یعنی شما یه جدول مرتبط داشته باشید که تو اون attributes لینک بشه. اما یه قدم بریم جلوتر : اگر شما بخواهید در attribute ها سرچ داشته باشید چه؟ و یا اگر شما فروشندگان دیگر داشته باشید و بخواهید امکان ایجاد ویژگی به آن ها بدید چه ؟
پس شما اول تعیین کنید در چه سطحی عمل می کنید تا اگر تونستیم با هم حل کنیم


mehrdad70
@mehrdadroshanraee68 4 سال پیش مطرح شد
0

@wozniak
قطعا هرکسی دوستداره راه حل های پیشرفته و امکانات پیشرفته رو برای سایتش پیاده سازی کنه مثلا مورد دوم شما فرمودید بیشتر برام جالب اومد و اگه بتونید بهم بگید چجوری میتونم پیادش کنم عالی میشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام