首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除Laravel中的外键约束?

如何删除Laravel中的外键约束?
EN

Stack Overflow用户
提问于 2019-04-15 01:08:06
回答 1查看 8.5K关注 0票数 2

我正在做一个项目,在这个项目中,我将数据添加到两个表中,User &注册以这样的形式存在

代码语言:javascript
复制
 public function storeStudent(Request $request)
{
       $created_user = User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => bcrypt($request->password),
        'parent_id' => $request->parent_id,
        'role_id' => $request->role_id,
        'gender'=> $request->gender,
        'date_of_birth'=> $request->date_of_birth,
        'cnic'=>$request->cnic,
        'religion'=>$request->religion,
        'skills'=>$request->skills,
        'physical'=>$request->physical,
        'emergency_name'=>$request->emergency_name,
        'phone_no'=>$request->phone_no,
        'medical_info'=>$request->medical_info,
        'family_dr'=>$request->family_dr,
        'address'=>$request->address,


    ]);
    Registration::create([

       //reg_id is id for registration table

        'user_id' => $created_user->id,
        'class_id' => $request->class_id,
        'section_id' => $request->section_id,

    ]);

现在我想删除语法不好的数据。我不知道该如何删除我正在尝试的数据。

代码语言:javascript
复制
public function destroy(Request $request)
{

    $user = User::findOrFail($request->user_id);
    $user->delete();

    $registration=Registration::findOrFail($request->user_id);
    $registration->delete();
    return back();

}

注册表为

代码语言:javascript
复制
Schema::create('registrations', function (Blueprint $table) {
    $table->increments('reg_id');
    $table->integer('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('users');
    $table->integer('class_id')->unsigned();
    $table->foreign('class_id')->references('id')->on('classses');
    $table->integer('section_id')->unsigned();
    $table->foreign('section_id')->references('id')->on('sections');
    $table->timestamps();
});

但它给了我错误

代码语言:javascript
复制
 Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`jurs1`.`registrations`, CONSTRAINT `registrations_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)) (SQL: delete from `users` where `id` = 10)

在这种情况下请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 02:39:38

代码语言:javascript
复制
 $table->integer('user_id')->unsigned();
 $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

使用->onDelete('cascade')对我有效:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55677896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档