Mahdi Afiyati
6 سال پیش توسط Mahdi Afiyati مطرح شد
3 پاسخ

عدم حذف اطلاعات فرزندان یک رکورد در پایگاه داده

سلام من جداول کاربران و مخاطبین دارم میخوام وقتی کاربر حذف شد بطور خودکار مخاطبینی که ثبت کرده هم حذف بشه اما این اتفاق نمیفته و مخاطب باقی میمونه و وقتی روی مشاهده مخاطب کلیک میکنم بخاطر اینکه کاربر ثبت کنندش حذف شده خطا میده . میخواستم راهنماییم کنید چکار کنم که مخاطبین هم به طور خودکار حذف بشن .

public function up()
    {
        Schema::create('contacts', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->string('name');
            $table->string('family');
            $table->boolean('type')->default('0');
            $table->string('avatar')->default('AvatarContact.png');
            $table->string('phone')->nullable();
            $table->string('mobile')->nullable();
            $table->string('fax')->nullable();
            $table->string('email')->nullable();
            $table->string('site')->nullable();
            $table->text('description')->nullable();
            $table->text('address')->nullable();
            $table->timestamps();
        });
    }

/////user controller

public function destroy(User $user)
    {
        $user->delete();
        return redirect(route('users.index'));
    }

ثبت پرسش جدید
محمد
@mradaei7 6 سال پیش آپدیت شد
0

سلام... از طریق خود پایگاه دادتون هم می تونید اینکارو انجام بدین.مثلا توی جدول contacts این کد sql رو اجرا کنید
"ALTER TABLE contacts
ADD FOREIGN KEY (user_id) REFERENCES users(id);"


Mahdi Afiyati
@mahdi.afiyati.dalir 6 سال پیش مطرح شد
0

دوستان ممنونم از راهنمایی هاتون .
البته من مشکلم حلش ولی اگر کسی این مشکل رو داشت بگم که من داخل مایگریشن هام کد

$table->engine = 'InnoDB';

گذاشتم . و بعد دوباره دیتابیسو نصب کردم مشکل کامل حل شد .
بازم ممنونم .


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

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