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`))
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();
});
}
این کل 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
@pouriarahimi
سلام. توجه کن که ابتدا جدول اصلی رو migration اون رو ایجاد کنی بعد جدولی رو که بهش متصل میشه وگرنه سیستم سعی میکنه ابتدا جدولی که کلید خارجی دراون ایجاد کردی رو به id جدول اصلی در حین ایجاد متصل کنه میبینه وجود نداره و خطا میده.امیدوارم متوجه منظورم شده باشی.مثلا در کد بالا ابتدا migration شهر باید ایجاد شده باشه بعد برسی به مایگریشن درخواست ها
مهندس ممنون اون مشکل حل شد
الان یه مشکل دیگه دارم
من توی این فرم وقتی اطلاعاتی توی 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 رو ساپورت نمیکنم
اینم عکس از مرورگر
برای مسیر درخواستت یک اسم انتخاب کن و اکشن فرمتو به اون درخواست ارسال کن الان فرمت اشتباه اکشنشو قرار دادی
Route::post('save-req','UsersController@save_re')->name('form.action');
حالا داخل فرمت :
<form action="{{route('form.action')}}" method="POST">
کارایی که گفتید رو انجام دادم ارور میده
Route::post('save-req','UsersController@save_re')->name('Users.save_re');
اینم فرمش
<form action="{{route('save-req')}}" method="POST">
برادر از اینجا که من میبینم اسم اکشن فرمت با با اسم مسیرت فرق داره.مشخصه که خطا میده و میگه تعریف نشده.یکم دقت کن
این فرم منه
<form action="save-req" method="POST">
اینم route هست
Route::post('save-req','UsersController@save_req');
در فانکشن save-req اینپوت ها رو با request میگیرم و خیلی راحت چاپ میکنم
ولی زمانی که میخوام ولیدیشن ها رو چک کنم و create کنم این ارور رو میده
توی کل پروژه دارم از این روش استفاده میکنم و فقط اینجا این ارور رو میده !!!!
@mohammadeng3731
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟