【问题标题】:How to add pivot table when inserting data to database in Laravel 8在 Laravel 8 中向数据库插入数据时如何添加数据透视表
【发布时间】:2023-02-01 23:34:16
【问题描述】:

也许有人知道如何在每次插入咨询表时自动在 Laravel 8 中插入数据透视表?

我有模型咨询 n 到 n 问题,

辅导表

问题表

辅导模式

问题模型

控制器

public function create()
{
    return view('admin.counseling.create', [
        'title' => 'Tambah Bimbingan dan Konseling',
        'students' => Student::all(),
        'problems' => Problem::all()
    ]);
}

public function find_nis(Request $request)
{
    $student = Student::with('student_class', 'counselings')->findOrFail($request->id);
    return response()->json($student);
}

public function store(Request $request)
{ dd($request->all());
    $counseling = new Counseling();
    $counseling->student_id = $request->student_id;
    $counseling->user_id = Auth::user()->id;     
    $counseling->save();

    if ($counseling->save()) {
        $problem = new Problem();
        $problem->id = $request->has('problem_id');
        $problem->save();
    } 
    
}

【问题讨论】:

    标签: php laravel eloquent laravel-8 laravel-9


    【解决方案1】:

    我会将您的 store() 方法更改为如下所示:

    public function store(Request $request)
    { 
        $counseling = Counseling::create([
             'student_id' => $request->student_id,
             'user_id' => Auth::user()->id
        ]);
        if($request->has('problem_id'){
             $problem = Problem::create([
                  'id' => $request->problem_id
             ]);
             $problem->counselings->attach($counseling->id);
           //return something if problem id is in request
        }
        //return something if problem id is not there
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2015-04-01
      • 2014-08-24
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 2020-10-21
      相关资源
      最近更新 更多