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

ایجاد ارتباط بین جدول ها

 Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `requests` add constraint `requests_province_id_foreign` foreign key (`province_id`) references `provinces` (`id`))

ثبت پرسش جدید
محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

سلام
کلید خارجی با مرجعش هم نوع نیست و province_id باید به صورت unsignedBigInteger باشه


coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
0

سلام، کد مایگریشن رو قرار بدین


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش آپدیت شد
0
 public function up()
    {
        Schema::create('requests', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->text('title');
            $table->integer('type');
            $table->integer('province_id');
            $table->foreign('province_id')->references('id')->on('provinces');
            $table->integer('city');
            $table->integer('collection');
            $table->integer('category');
            $table->text('info');
            $table->string('user_pic');
            $table->timestamps();
        });
    }

@coaradsupp


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

سلام
کلید خارجی با مرجعش هم نوع نیست و province_id باید به صورت unsignedBigInteger باشه


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

ممنون آقای امیری محبت کردید

@mohammadeng3731


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

این کل migration من هست

 public function up()
    {
        Schema::create('requests', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->text('title');
            $table->integer('type');
            $table->unsignedBigInteger('province_id');
            $table->foreign('province_id')->references('id')->on('provinces');
            $table->unsignedBigInteger('city_id');
            $table->foreign('city_id')->references('id')->on('cities');
            $table->unsignedBigInteger('collection_id');
            $table->foreign('collection_id')->references('id')->on('collections');
            $table->unsignedBigInteger('category_id');
            $table->foreign('category_id')->references('id')->on('categories');
            $table->text('info');
            $table->string('user_pic');
            $table->timestamps();
        });
    }

و این خطایی که دوباره داده

[gomgashteh@cl core]$ php artisan migrate:fresh
PHP Warning:  Module 'mcrypt' already loaded in Unknown on line 0
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2020_07_15_060119_create_admins_table
Migrated:  2020_07_15_060119_create_admins_table
Migrating: 2020_07_15_064544_create_verify_codes_table
Migrated:  2020_07_15_064544_create_verify_codes_table
Migrating: 2020_07_20_073139_create_logs_logins_table
Migrated:  2020_07_20_073139_create_logs_logins_table
Migrating: 2020_07_20_073447_create_logs_operations_table
Migrated:  2020_07_20_073447_create_logs_operations_table
Migrating: 2020_07_20_073541_create_users_table
Migrated:  2020_07_20_073541_create_users_table
Migrating: 2020_08_16_102614_create_provinces_table
Migrated:  2020_08_16_102614_create_provinces_table
Migrating: 2020_08_16_102637_create_cities_table
Migrated:  2020_08_16_102637_create_cities_table
Migrating: 2020_08_16_102654_create_requests_table

   Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `requests` add constraint `requests_collection_id_foreign` foreign key (`collection_id`) references `collections` (`id`))

کاریم که آقای امیری گفتن انجام دادم و درست شد واسه جدول province و city واسه بقیش همون کارهاروهم انجام دادم دوباره ارور میده
@mohammadeng3731


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

@pouriarahimi
سلام. توجه کن که ابتدا جدول اصلی رو migration اون رو ایجاد کنی بعد جدولی رو که بهش متصل میشه وگرنه سیستم سعی میکنه ابتدا جدولی که کلید خارجی دراون ایجاد کردی رو به id جدول اصلی در حین ایجاد متصل کنه میبینه وجود نداره و خطا میده.امیدوارم متوجه منظورم شده باشی.مثلا در کد بالا ابتدا migration شهر باید ایجاد شده باشه بعد برسی به مایگریشن درخواست ها


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

تشکر تست میکنم اطلاع میدم
@mohammadeng3731


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

مهندس ممنون اون مشکل حل شد
الان یه مشکل دیگه دارم
من توی این فرم وقتی اطلاعاتی توی inputهاش وارد میشه و در آخر دکمه ثبتش رو میزنم
این ارور رو میده توی مرورگر

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
The GET method is not supported for this route. Supported methods: POST.

اینم route هست

Route::post('save-req','UsersController@save_re');

اینم فرمشه

 <form action="save-req" method="POST">
        @csrf

من دارم از متد Post استفاده میکنم ولی این داره میگه متد get رو ساپورت نمیکنم
اینم عکس از مرورگر
اینم عکس از مرورگر

@mohammadeng3731


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

برای مسیر درخواستت یک اسم انتخاب کن و اکشن فرمتو به اون درخواست ارسال کن الان فرمت اشتباه اکشنشو قرار دادی

        Route::post('save-req','UsersController@save_re')->name('form.action');

حالا داخل فرمت :

                    <form action="{{route('form.action')}}" method="POST">

پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

کارایی که گفتید رو انجام دادم ارور میده

Route::post('save-req','UsersController@save_re')->name('Users.save_re');

اینم فرمش

<form action="{{route('save-req')}}" method="POST">

اینم ارورش

@mohammadeng3731


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

برادر از اینجا که من میبینم اسم اکشن فرمت با با اسم مسیرت فرق داره.مشخصه که خطا میده و میگه تعریف نشده.یکم دقت کن


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

این فرم منه

<form action="save-req" method="POST">

اینم route هست

Route::post('save-req','UsersController@save_req');

در فانکشن save-req اینپوت ها رو با request میگیرم و خیلی راحت چاپ میکنم
ولی زمانی که میخوام ولیدیشن ها رو چک کنم و create کنم این ارور رو میده
توضیح تصویر رو وارد کنید

@mohammadeng3731


پوریا رحیمی
تخصص : طراحی وب سایت
@pouriarahimi 4 سال پیش مطرح شد
0

توی کل پروژه دارم از این روش استفاده میکنم و فقط اینجا این ارور رو میده !!!!
@mohammadeng3731


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

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