۴۰۴ Not Found! قیمت ها به ۴۰۳ برگشت! به مدت محدود!
بزن بریم!سلام
من برای کار با 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
جداول users و articles قبل از جدول comments ایجاد میشن
@mehdisut
@elyasbeshkani @hesammousavi @ali.bayat
باید جدا جدا migration کنی اول با جدول articles رو پاک کن بعد بسازش و بعدش commentرو بساز با دستور fresh این کار رو انجام نده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟