راکت

مشکل در استفاده از SQL Server در Laravel

3 پاسخ

سلام
من برای کار با sql server در لاراول یک مشکل عجیبی دارم که ممنون میشم راهنمایی کنید.
این جدول من هستش:

Schema::create('comments', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger("article_id");
            $table->foreign("article_id")->references("id")->on("articles")->onDelete("cascade");
            $table->unsignedBigInteger("user_id");
            $table->foreign("user_id")->references("id")->on("users")->onDelete("cascade");
            $table->text("comment");
            $table->bigInteger("level");
            $table->boolean("status")->default(0);
            $table->timestamps();
        });

اما وقتی این Migration اجرا میشه این خطا رو میده:

 Illuminate\Database\QueryException  : SQLSTATE[42000]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Introducing
 FOREIGN KEY constraint 'comments_user_id_foreign' on table 'comments' may cause cycles or multiple cascade paths. Specify
ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. (SQL: alter table "comments" add const
raint "comments_user_id_foreign" foreign key ("user_id") references "users" ("id") on delete cascade)

  at C:\xampp\htdocs\tinyblog - copy\vendor\laravel\framework\src\Illuminate\Database\Connection.php:669
    665|         // If an exception occurs when attempting to run a query, we'll format the error
    666|         // message to include the bindings with SQL, which will make this exception a
    667|         // lot more helpful to the developer instead of just the database's errors.
    668|         catch (Exception $e) {
  > 669|             throw new QueryException(
    670|                 $query, $this->prepareBindings($bindings), $e
    671|             );
    672|         }

اما وقتی یکی از کلید های خارجی در جدول بالا رو حذف میکنم یا فقط یکی از onDelete ها رو حذف می کنم (فرقی نداره کدوم) مشکل حل میشه و انگار نمیزاره 2 تا onDelete داخل یک جدول داشته باشم.
کد بالا برای MySQL به درستی کار میکنه و خطایی نمیده.
راه حلی هست؟
@hesammousavi @elyasbeshkani @ali.bayat @juza66

ثبت پرسش جدید

پاسخ‌ها

3
ftp
ftp
@ftp

تخصص: ساده

اول جدول articleرو بساز و مایگرت کن و بعد این جدول رو بساز

Seyyed Mojtaba Hoseyni
Seyyed Mojtaba Hoseyni
@SMH118

تخصص: برنامه نویس Laravel و ReactJS

جداول users و articles قبل از جدول comments ایجاد میشن
@mehdisut
@elyasbeshkani @hesammousavi @ali.bayat

شاید پاسخ شما همین‌جا باشد

ftp
ftp
@ftp

تخصص: ساده

@SMH118

باید جدا جدا migration کنی اول با جدول articles رو پاک کن بعد بسازش و بعدش commentرو بساز با دستور fresh این کار رو انجام نده

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

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