آفلاین
user-avatar

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

3 سال پیش
توسط Mahdi Afiyati آپدیت شد
آفلاین
user-avatar
Mahdi Afiyati ( 654 تجربه )
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'));
    }
آفلاین
user-avatar
matin ( 628 تجربه )
3 سال پیش
آفلاین
user-avatar
محمد ( 1132 تجربه )
3 سال پیش

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

آفلاین
user-avatar
Mahdi Afiyati ( 654 تجربه )
3 سال پیش

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

$table->engine = 'InnoDB';

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

برای ارسال پاسخ باید وارد سایت شوید