تحلیل در migrate

- 2 ماه پیش
توسط محمد آپدیت شد
محمد ( 1977 تجربه )
2 ماه پیش

من یک جدول دارم به نام کارمندان employers بعد هر کدام از این کارمند ها آلبوم عکس دارند و هر کدام باید مشخص بشه در کدام بخش هستن و همینطور هر کدام پرونده ها و اسنادی دارند. من چهار تا جدول به نام های زیر تعریف کردم.
employers
documents
albums
photos
parts

من در جدول کارمندان باید چهار تا foreign key داشته باشم؟

Schema::create('employers', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->integer('part_id')->unsigned()->nullable();  
            $table->integer('document_id')->unsigned()->nullable();      
            $table->integer('album_id')->unsigned()->nullable();                 
            $table->boolean('approved')->default(0);
            $table->string('firstName');
            $table->string('lastName');
            $table->string('slug');
            $table->string('fatherName');
            $table->string('idNumber');
            $table->string('nationalCode');
            $table->string('maritalStatus');
            $table->text('address');
            $table->text('images');
            $table->string('universityPlace');
            $table->string('grade');
            $table->string('fieldOfStudy');
            $table->string('yearOfEnter');
            $table->string('idFolder');
            $table->string('codeOfMartyrdom');
            $table->string('yearOfWar');
            $table->string('durationOfWar');
            $table->string('placeOfMartyrdom');
            $table->string('dateOfMartyrdom');
            $table->string('expertise');
            $table->timestamps();

            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->foreign('part_id')->references('id')->on('parts')->onDelete('cascade');            
            $table->foreign('document_id')->references('id')->on('documents')->onDelete('cascade');  
            $table->foreign('album_id')->references('id')->on('albums')->onDelete('cascade'); 
        });

من ارور دارم لطفا راهنماییم کنید که چه روشی بهتر و درسته.

@ali.bayat

علی بیات ( 25857 تجربه )
2 ماه پیش

یک جدول employers ساده بسازید و foreign key شما user_id هستش.
بعد داخل اون ۴ تا جدول یه فیلد مثل employer_id یا id استفاده کنید تا مشخص بشه اطلاعات داخل هر سطر مربوط به کدوم employe هست.

علیرضا صفدری ( 23381 تجربه )
2 ماه پیش

یک جدول آپلود درست کنید و به سطرهاش مقدار employer_id و type بدید و همه اسناد و عکس ها و ... رو اینجا آپلود کنید.
بخش هم اگه فقط یک بخش هست، مستقیم توی جدول employers یک فیلد به نام part بذارید

محمد ( 1977 تجربه )
2 ماه پیش

بعدا بخام یه کويزی بزنم که هر کارمند چه اسناد و تصاویری داره. مشکلی نیست؟
نمونه تکه کدی مثال میزنید؟
@alirezasafdari

علیرضا صفدری ( 23381 تجربه )
2 ماه پیش

خب سرچ میزنید دیگه، سرچ میکنید در جدول upload اونهایی که مثلا type اش تصویر و employer اش فلان آیدی هست

محمد ( 1977 تجربه )
2 ماه پیش

نظر شما چیه آقای موسوی؟
@hesammousavi

حسام موسوی ( 90879 تجربه )
2 ماه پیش

@manvfx
بنظر من هم یک جدول فایل بهتر از چند جدوله ! با فیلدی با عنوان type هم نوعش رو میتونید مشخص کنید
البته شما نگفتید چه اروری دارید دقیقا

محمد ( 1977 تجربه )
2 ماه پیش

@hesammousavi
ارور اینه که بیشتر از ۴ key نمیشه در جدول گذاشت چون من یکی برای user_id یکی part_id و album_id دیگری document_id گذاشتم.

برای ارسال پاسخ باید وارد سایت شوید